2009-06-29 4 views
20

Je suis habitué à inclure et en utilisant JS comme ceci:JavaScript: script en ligne avec l'attribut 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> 

Juste par curiosité, personne ne sait la règle pour avoir un script en ligne avec un src attrib, comme:

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

Je peux tester ce qui se passe dans différents navigateurs, mais j'aimerais savoir quel est le comportement officiel.

Répondre

25

C'est l'un ou l'autre, pas les deux. L'attribut src de l'étiquette <script> a priorité sur le corps de l'étiquette.

HTML 4.01 Specification:

Le script peut être défini dans le contenu de l'élément SCRIPT ou dans un fichier externe. Si l'attribut src n'est pas défini, les agents utilisateur doivent interpréter le contenu de l'élément en tant que script . Si le src a une valeur URI, les agents utilisateur doivent ignorer le contenu de l'élément et récupérer le script via l'adresse URI .

+1

J'ai été éjecté par 6 secondes! – harto

+3

Je ne savais pas que j'étais en course. :-) – artlung

+2

Voici un lien vers la version la plus récente [HTML5 spec] (http://www.w3.org/TR/html5/scripting-1.html#inline-documentation-for-external-scripts) (voir le texte ci-dessus) l'exemple de code) – royhowie

4

La spécification HTML états

Si le src a une valeur URI agents, l'utilisateur doit ignorer contenu de l'élément et récupérer le script via l'URI.

3

De l'HTML 4 standard:

Si l'attribut src est pas défini, l'utilisateur agents doivent interpréter le contenu de l'élément comme le script. Si le src a une valeur URI, les agents utilisateurs doivent ignorer le contenu de l'élément et récupérer le script via l'URI.

Questions connexes