2010-02-15 4 views
142
<script type="text/javascript"> 
    /* ... */ 
</script> 

gegenHTML-Script-Tag: Typ oder Sprache (oder beide weglassen)?

<script language="Javascript"> 
    /* ... */ 
</script> 

, die verwendet werden sollten und warum?

(edit) Oder die dritte Alternative: entweder von ihnen, wie der Beispielcode in jQuery API-Referenz Weglassen:

<script src="http://code.jquery.com/jquery-latest.js"></script> 

Antwort

140

Das language Attribut für eine lange Zeit veraltet ist, und sollte nicht benutzt werden.

Als W3C an HTML5 arbeitete, stellten sie fest, dass alle Browser "text/javascript" als Standardskript type haben, also they standardized it to be the default value. Daher brauchen Sie auch nicht type. Für Seiten in XHTML 1.0 oder HTML 4.01 wird type als ungültig betrachtet. Versuchen validating folgendes:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
<script src="http://example.com/test.js"></script> 
</head> 
<body/> 
</html> 

Sie werden von dem folgenden Fehler informiert werden:

Line 4, Column 41: required attribute "type" not specified

Also, wenn Sie ein Fan von Standards sind, es zu benutzen. Es sollte keinen praktischen Effekt haben, aber im Zweifelsfall kann auch die Spezifikation gehen.

+7

Wenn Sie HTML5 verwenden und das Skript JavaScript ist, ist die Angabe von 'type' völlig unnötig, da [text/javascript die Standardeinstellung ist] (http://www.w3.org/TR/html5/scripting-1. html # Das-Skript-Element). –

2

Das Typ Attribut wird verwendet, um den MIME-Typ innerhalb des HTML-Dokuments zu definieren. Je nachdem, welchen DOCTYPE Sie verwenden, wird der Typwert benötigt, um das HTML-Dokument zu validieren.

Das Sprachattribut lässt den Browser wissen, welche Sprache Sie verwenden (Javascript vs. VBScript), ist aber nicht unbedingt erforderlich und IIRC ist veraltet.

+0

Der MIME-Typ gibt bereits die Sprache an. Das Sprachattribut ist redundant. –

34

HTML4/XHTML1 erfordert

<script type="...">...</script> 

HTML5 die Tatsache steht, dass es auf der Bahn nur eine Scriptsprache ist, und ermöglicht

<script>...</script> 

Letzteres funktioniert in jedem Browser, die Scripting (NN2 + unterstützt).

+23

HTML5 unterstützt weiterhin 'Andere Skriptsprachen' im Web. Der Standardwert ist jedoch 'text/javascript', wenn kein Typ explizit definiert ist. –

+5

Sicher. Mein Argument war, dass HTML4/XHTML1 aus Gründen der theoretischen Reinheit kein JavaScript als Standard festlegen wollte, während HTML5 einen besseren Kompromiss darstellt. – Ms2ger

+0

Was sind die anderen Skriptsprachen für das Web? –

Verwandte Themen