2009-06-29 14 views
20

Ich bin gewohnt, JS wie folgt einzuschließen und zu benutzen:JavaScript: Inline-Skript mit SRC-Attribut?

<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> 

Nur aus Neugier, kennt jemand die Regel für ein Inline-Skript mit einem src-Attribut, wie:

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

I kann testen, was in verschiedenen Browsern passiert, möchte aber wissen, was das offizielle Verhalten ist.

Antwort

25

Es ist entweder das eine oder das andere, nicht beides. Das src-Attribut des Tags <script> hat Vorrang vor dem Tag.

HTML 4.01 Specification:

Das Skript kann innerhalb der Inhalt des SCRIPT-Element oder in einer externen Datei definiert werden. Wenn das src Attribut nicht festgelegt ist, müssen Benutzeragenten den Inhalt des Elements als Skript interpretieren. Wenn der src einen URI-Wert hat, müssen Benutzeragenten den Inhalt des Elements ignorieren und das Skript über den URI abrufen.

+1

Pipped mich um 6 Sekunden! – harto

+3

Ich habe nicht bemerkt, dass ich Rennen gefahren bin. :-) – artlung

+2

Hier ist ein Link zu der neueren [HTML5-Spezifikation] (http://www.w3.org/TR/html5/scripting-1.html#inline-documentation-for-external-scripts) (siehe obigen Text) das Codebeispiel) – royhowie

4

Die HTML-Spezifikation besagt

Wenn der src einen URI-Wert hat, Benutzer Agenten müssen die Inhalt des Elements ignorieren und das Skript über die URI abzurufen.

3

Vom HTML 4 standard:

Wenn das Attribut src nicht gesetzt ist, Benutzer Agenten müssen den Inhalt des das Element als das Skript interpretieren. Wenn der src einen URI-Wert hat, müssen Benutzeragenten den Inhalt des Elements ignorieren und das Skript über den URI abrufen.