Ich habe irgendwo gelesen, dass Sie Dinge wie type="text/javascript"
und das Seltsame CDATA
und <!--
Dinge in Ihren Skript-Tags nicht mehr brauchen . Also statt:
<script type="text/javascript">
//<![CDATA[
<!--
//your script here
-->
//]]>
</script>
Sie würden einfach tun:
<script>
//your script here
</script>
Ich kann mich nicht erinnern, wo ich das gelesen habe. Ich glaube, es war von einem Google- oder Yahoo-Ingenieur, und sie erwähnten ausdrücklich, welche Browser diese archaischen Konstrukte benötigten und warum. Weiß jemand, über welchen Blog-Beitrag / Artikel hier gesprochen wurde, oder hat eine gute Ressource, die darüber spricht?
javascript
html
cmcculloh
quelle
quelle
text/javascript
angegebenen Angaben öffne , entferne ich sie. Es ist Lärm.Antworten:
Siehe Crockfords Artikel auf dem
<script>
Tag , insbesondere:...
quelle
RubyScript
populär wird, endet es in.rbscript
und der Browser handelt entsprechend.Es ist eine Crockford- Empfehlung. Ich weiß, ich habe gesehen, dass es woanders widerhallt (ppk vielleicht?). Die HTML5-Spezifikation erfordert dies nicht.
Seltsamerweise ist es etwas selbstverständlich geworden , das Attribut "type" zu verwenden, um
<script>
Blöcke zu markieren , die nicht bewertet werden sollen:Einen seltsamen Nicht-JavaScript - Typen Indem Sie einen Weg , um Sachen Rohtext in die Seite für die Verwendung durch anderen JavaScript - Code erhalten (die vermutlich in Skriptblock ist, der kann ausgewertet werden).
quelle
type="text/html"
bedeutet überhaupt und wastext/javascript
bedeutet .. danke<script>
Blocks vollständig . Das<script>
wird jedoch Teil des DOM, sodass andere JavaScript-Codes sie finden und ihren Inhalt extrahieren können.In HTML5, the type attribute is no longer required for JavaScript. The default value is "application/javascript".
HTML5 benötigt das nicht
type="text/javascript"
(es ist die Standardeinstellung).CDATA
wird nur für XHTML-Seiten benötigt, wenn das Skript HTML-Zeichen (wie '<' und '>') enthält.<!--
sollte nur für ALTE Browser benötigt werden.quelle
Nun, ich bin versucht zu sagen, dass niemand
text/javascript
mehr verwendet und dass sogar Minifizierungstools es wahrscheinlich entfernen würden ... In der Tat spezifiziert die Facebook SDK-Dokumentation genau<script>
.Die Google SDK-Dokumentation ist jedoch noch vorhanden
text/javascript
.Die Amazon SDK-Dokumentation ist noch vorhanden
text/javascript
.Die Linkedin API-Dokumentation ist noch vorhanden
text/javascript
.Instagram wird immer noch verwendet
text/javascript
.quelle
Das type- Attribut identifiziert die Skriptsprache des Codes, der in ein Skriptelement eingebettet ist oder über das src-Attribut des Elements referenziert wird. Dies wird als MIME-Typ angegeben. Beispiele für unterstützte MIME-Typen sind Text / Javascript, Text / Ecmascript, Anwendung / Javascript und Anwendung / Ecmascript.
Gemäß HTML 4.01 Spezifikation
In HTML5
text/javascript
ist dies jedoch der Standardtyp, sodass Sie ihn weglassen könnenquelle
Möglicherweise denken Sie hier an diesen Artikel mit der Abhängigkeit, dass Skripte in HTML5 standardmäßig automatisch Text / Javascript verwenden, während Nicht-HTML5-Browser weiterhin erwarten, dass Sie den Typ spezifisch spezifizieren, obwohl sie fast immer Text / Javascript erraten .
quelle
Es liegt am Browser, den
script
Block anhand der Überschriften und nicht anhand destype
Attributs richtig zu interpretieren . Um Ihre Frage zu beantworten, ist dies für moderne Browser nicht erforderlich (ich spreche von IE7 +, FF, Webkit). Wenn Sie ältere Browser unterstützen, tut mir das leid =)quelle
Wenn Sie ein Skript-Tag in SVG einfügen, müssen Sie das Typattribut angeben. Und es sollte
"text/ecmascript"
eher sein als"text/javascript"
.Wenn Ihr Skript inline (nicht verknüpft) ist, müssen Sie den Skriptkörper auch in eine CDATA-Deklaration einschließen. Das Inline-Skript-Boilerplate für SVG (und andere XML-Varianten) ist somit
Dies können Sonderfälle "in the wild" sein, aber sie sind real genug, und die Verwendung von SVG nimmt zu. Daher ist es für andere falsch zu behaupten, dass das Typattribut und CDATA in modernen Browsern völlig veraltet sind. Die Anwendungsfälle sind zwar eng, aber nicht ungewöhnlich.
quelle
Mit dem MIME-Sniffing-Standard kann JavaScript mit einem beliebigen MIME-Typ ( Multipurpose Internet Mail Extensions ) bereitgestellt werden, der den folgenden Anforderungen entspricht :
quelle
Nun, ich sehe immer mehr Beispiele ohne Text / Javascript, aber aus irgendeinem Grund funktionieren meine Skripte in FF nicht, wenn ich das tue. Ich würde empfehlen, die Text- / Javascript-Erklärung beizubehalten. Das CDATA-Tag verhindert, dass Javascript auf Ihrer Website als einfacher Text angezeigt wird, wenn in Ihrem Browser Javascript deaktiviert ist. Persönlich benutze ich diese Tags nicht mehr. Ich glaube nicht, dass es viele Benutzer ohne gibt, und wenn sie da draußen sind, möchten sie vielleicht ein paar Köpfe wachsen lassen: P.
quelle
<script>
, keine "Sprache" und keinen "Typ", und sie funktionieren in allen Browsern einwandfrei. (Nun, alle vernünftigen: FF, Chrome, Safari, IE, Opera.)type="text/javascript"
: Erforderlich in HTML 4 und XHTML, aber optional in HTML5.CDATA
: Erforderlich in XHTML.<!--
: Wird verwendet, um das JavaScript vor sehr alten Browsern zu verbergen. Beispiel: Netscape 1 und Internet Explorer 2, von denen keiner mehr verwendet.quelle