2010-11-16 17 views
105

Ich habe gesehen, beide diese:Ist das Attribut 'type' für <script> Tags erforderlich?

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js'></script> 

und diese:

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js'></script> 

Hat der Typ in irgendeiner Weise Materie Attribut?

+3

Ich habe noch nie ein Skript nicht ausgeführt werden, da ein fehlenden type-Attribut gesehen. Ich vermute, es ist eine Frage dessen, was am richtigsten ist, aber ich bin interessiert zu sehen, welche Antworten angeboten werden. – clifgriffin

Antwort

102

Für HTML 4.x, das type Attribut ist erforderlich. (W3):

Dieses Attribut gibt die Skriptsprache des Inhalts des Elements an und überschreibt die Standardskriptsprache. Die Skriptsprache wird als Inhaltstyp angegeben (z. B. "text/javascript"). Autoren müssen einen Wert für dieses Attribut angeben. Für dieses Attribut gibt es keinen Standardwert.

Für HTML 5 ist es optional. Wenn es nicht angegeben wird, wird standardmäßig text/javascript verwendet. (W3):

Das Attribut type gibt die Sprache des Skripts oder das Format der Daten an. Wenn das Attribut vorhanden ist, muss sein Wert ein gültiger MIME-Typ sein. Der Parameter charset darf nicht angegeben werden. Der Standardwert, der verwendet wird, wenn das Attribut nicht vorhanden ist, ist "text/javascript".

+5

? Auch wenn Sie intrinsisch verwenden Event-Skripte in HTML4 (wie in 'onload',' onclick', 'onmouseover'-Attributen etc.) müssen Sie' 'in definieren '' oder konfigurieren Sie Ihren Server zum Senden von 'Content-Script-Type: text/javascript' in HTTP-Headern. – Tometzky

2
+4

Unabhängig davon, welche Browser derzeit ausgeführt werden, ist es für Sie besser, dem Standard zu folgen, um eine bessere Interoperabilität und Vorwärtskompatibilität zu erreichen. – EricLaw

+22

Aber nicht für viel länger: http://www.w3.org/TR/html5/scripting-1.html#script: * "Das Attribut type gibt die Sprache des Skripts oder das Format der Daten an. Wenn das Attribut ist present, sein Wert muss ein gültiger MIME-Typ sein Der charset-Parameter darf nicht angegeben werden Der Standardwert, der verwendet wird, wenn das Attribut abwesend ist, ist "text/javascript"."* Achtung, ** ich werde es weiterhin benutzen, egal. –

+6

Trotz allem, was das W3C sagt, in der realen Welt ist es nicht erforderlich. –

90

in HTML5 Sie nicht das type Attribut brauchen, aber in HTML < = 4 und (X) HTML sollte

+0

Wird alle Browser korrekt'

5

Nein, das Attribut 'type' wird in Tags nicht benötigt. Es sei denn, Sie möchten, dass Ihr Code validiert wird.

Wir haben es seit Jahren bei der Arbeit weggelassen, und es war nie ein Problem. Wir testen stark über mehrere Geräte, Browser usw. Dies beinhaltet verschiedene HTML4 & XHTML Doctypes.

habe ich diese kleine Seite zum Testen auf GitHub: http://kenshub.github.io/script-type.html

Verwandte Themen