2009-06-29 7 views
20

Przywykłem do włącznie i przy użyciu JS tak:JavaScript: skrypt wbudowany z atrybutem SRC?

<script type='text/javascript' src='/path/to/script.js'></script> 
.... 
<script type='text/javascript'> 
    alert('Do some stuff here, using resources defined in script.js.'); 
</script> 

Tak z ciekawości, czy ktoś wie regułę dla mającą skrypt inline z attrib src, jak:

<script type='text/javascript' src='/path/to/script.js'> 
    alert('Do some stuff here, using resources defined in script.js.'); 
</script> 

Mogę przetestować, co dzieje się w różnych przeglądarkach, ale chciałbym się dowiedzieć, jakie jest oficjalne zachowanie.

Odpowiedz

25

Jest to jeden lub drugi, nie oba. Atrybut src znacznika <script> ma pierwszeństwo nad treścią znacznika.

HTML 4.01 Specification:

Scenariusz może być określone w zawartości elementu SCRIPT lub zewnętrznym pliku. Jeśli nie ustawiono atrybutusrc, agenci użytkownika muszą interpretować zawartość tego elementu jako skryptu . Jeśli wartość src ma wartość identyfikatora URI, agenty użytkownika muszą zignorować zawartość tego elementu i pobrać ten kod za pomocą identyfikatora URI w postaci .

+1

Przeniosłeś mnie przez 6 sekund! – harto

+3

Nie zdawałem sobie sprawy, że ścigałem się. :-) – artlung

+2

Oto link do nowszej [HTML5 spec] (http://www.w3.org/TR/html5/scripting-1.html#inline-documentation-for-external-scripts) (patrz tekst powyżej przykład kodu) – royhowie

4

Specyfikacja HTML stwierdza

Jeśli src ma wartość URI, użytkownik środki muszą ignorować elementu zawartość i pobrać skrypt poprzez URI.

3

Z HTML 4 standard:

Jeśli atrybut src nie jest ustawiona, użytkownik środki musi zinterpretować zawartość element jako skryptu. Jeśli src ma wartość URI, agenty użytkownika muszą zignorować zawartość elementu, a pobrać skrypt za pośrednictwem identyfikatora URI.