2012-07-30 17 views
5

Mögliche Duplizieren:
HTML5 <script> declarationsIst es eine gute Übung, den Skripttyp zu ignorieren?

ich ein paar Leute gehört haben, sagen, dass Sie nicht über eine type="text/javascript" in einem <script> Tag angeben müssen, da dies die Art Standard ist.

Gibt es irgendwelche Nachteile, wenn ich meine Skript-Tags als <script> statt der ausführlicheren öffnen <script type="text/javascript">?

+3

@kojiro meine Frage ein gültiges Zeichen sein nicht spezifisch für html5 ist. – Christophe

+0

Nicht wirklich ein dup. Dies ist eine allgemeinere Frage. – Beska

+0

@Christophe Ich folgerte, dass die wenigen Leute, die Sie gehört haben, über die Tatsache sprachen, dass HTML5 einen Standardtyp definiert hatte. Der Standardtyp ist * nicht * in HTML4 angegeben. – kojiro

Antwort

3

In HTML4 das type Attribut erforderlich ist:

http://www.w3.org/TR/html401/interact/scripts.html#h-18.2.1

In HTML5 ist es nicht.

http://dev.w3.org/html5/markup/script.html

Wenn Sie HTML4 verwenden wollen, dann gute Praxis beinhaltet sicherlich seine Spezifikationen einhalten. Wenn Sie HTML5 verwenden, dann ist es ziemlich klar, dass <script> ohne typetext/javascript ist, so dass Sie es sicher weglassen können.

+0

Danke für die Referenz. Aber haben Sie in der Praxis Beispiele in html4, wo das Weglassen des Typs Probleme verursachen würde? – Christophe

+0

@Christophe Nein, weil Browser dafür ausgelegt sind, mit schlechtem HTML umzugehen. Das bedeutet nicht, dass es eine gute Idee ist, zu schreiben, womit man davonkommen kann. Ihre Frage ist eine Art Trap, da wir (aufgrund von HTML5) bereits annehmen können, dass zukünftige Implementierungen von Browsern einen Standardtyp annehmen werden, aber das Schreiben von ungültigem HTML, das gerade funktioniert, ist im Allgemeinen falsch, weil es möglicherweise nicht funktioniert in zukünftigen Browsern. – kojiro

+0

Ich stimme zu, dass es eine Falle ist, deshalb suche ich Rat von der Community! (vor dem Versuch, ein paar Bytes zu speichern) – Christophe

1

Ja! Sie können den Typ absolut weglassen. Stellen Sie sicher, dass Ihr Dokumenttyp ist HTML5 if you care for validity.

<!doctype html> 

Es wird jedoch mit jedem Browser genauso gut funktionieren Sie sich vorstellen können.

Es wird nicht "good practice" in Betracht gezogen werden, um die Spezifikationen zu brechen, wenn Sie nicht mit HTML5 aber :)

+0

funktioniert dies mit nicht-HTML5-Browsern, die auf dem Markt noch vorhanden sind? –

+1

@Truth Also wie wäre es mit Nicht-HTML5-Dokumenten? – Christophe

+0

@Christophe: Es ** funktioniert ** gut, es wird nicht so gültig sein, wenn Sie so viel interessieren. –

1

Obwohl das Skripttyp-Attribut bei der Verwendung von HTML5 nicht benötigt wird, sollte es immer und überall verwendet werden. Es empfiehlt sich, sie jedes Mal zu verwenden, wenn Sie ein Skript in ein HTML-Dokument einfügen. Es tut nicht weh, es hinzuzufügen, aber es kann weh tun, es nicht hinzuzufügen. Ältere Browser können das Skript möglicherweise nicht erkennen, wenn das Attribut type nicht angegeben ist.

0

Sie sind eine Desktop-Website für ein Intranet Entwicklung (Internetcafé vielleicht), können Sie schreiben:

<script> 
    $(functions(){}); 
</script> 

Wenn Sie HTML oder XHTML für das Internet nutzen, empfehle ich Ihnen Ihre Script-Tags wie folgt schreiben:

<script type="text/javascript"> 
// <![CDATA[ 
    // functions 
    $(functions(){}); 
// ]]> 

Und das für Inline CSS abzuschließen, da wir gerade dabei sind:

<style type="text/css"> 
/* <![CDATA[ */ 
    /* tags */ 
    html, body {} 
/* ]]> */ 
</style> 

T seine Art und Weise, was auch immer Art von Charakter, den du da drin stecken soll

EDIT http://en.wikipedia.org/wiki/CDATA#Uses_of_CDATA_sections

Verwandte Themen