Die folgende Vorgehensweise ist in dem Inline-JavaScript, mit dem ich arbeiten muss, ziemlich üblich:
<script type="text/javascript">
<!--
// Code goes here
//-->
</script>
Ich weiß, dass es darum geht, zu verhindern, dass Browser, die nicht mit JavaScript kompatibel sind, die Quelle rendern. Aber ist dies auch heute noch eine bewährte Methode? Die überwiegende Mehrheit der heute verwendeten Browser kann JavaScript interpretieren. Selbst moderne mobile Geräte haben normalerweise keine Probleme.
Was das "Warum nicht?" Frage: Ich musste kürzlich mehrere Stunden damit verbringen, ein Problem zu debuggen, bei dem jemand das '//' vor einem '->' am Ende eines Skript-Tags weggelassen hatte, das tief in einigen Seiten vergraben war, und dies verursachte mysteriöses JavaScript Fehler.
Wie geht's? Wird dies immer noch als "Best Practice" angesehen?
quelle
Antworten:
Wichtig ist, dass es heutzutage irrelevant ist, ob ein bestimmter Browser JavaScript unterstützt oder nicht (dies ist eindeutig die große Mehrheit) - es ist irrelevant, da fast alle Skriptblöcke verstehen, was bedeutet, dass sie wissen, dass sie JavaScript ignorieren müssen, auch wenn sie dies nicht können interpretiere es.
Matt Kruse gibt eine etwas ausführlichere Erklärung auf seiner JavaScript - Toolbox - Website, warum speziell nicht HTML - Kommentare innerhalb Skriptblock zu verwenden.
Zitiert von dieser Seite:
Verwenden Sie keine HTML-Kommentare in Skriptblöcken
In den alten Tagen von Javascript (1995) hatten einige Browser wie Netscape 1.0 keine Unterstützung oder Kenntnis des Skript-Tags. Als Javascript zum ersten Mal veröffentlicht wurde, war eine Technik erforderlich, um den Code vor älteren Browsern zu verbergen, damit er nicht als Text auf der Seite angezeigt wird. Der 'Hack' bestand darin, HTML-Kommentare innerhalb des Skriptblocks zu verwenden, um den Code auszublenden.
Verwenden von HTML-Kommentaren im Skript ist schlecht
Kein heute gebräuchlicher Browser kennt das <script> -Tag nicht, sodass das Ausblenden der Javascript-Quelle nicht mehr erforderlich ist. Tatsächlich kann es aus folgenden Gründen als schädlich angesehen werden:
quelle
Ich habe damit aufgehört. Irgendwann müssen Sie nur noch Ihr NCSA-Mosaik loslassen.
quelle
Laut W3C - Empfehlung war es vor allem nützlich , um die Skriptdaten von User - Agents zu verbergen.
Zitiert von der W3c-Seite :
Kommentieren von Skripten in JavaScript Die JavaScript-Engine ermöglicht das
"<!--"
Auftreten der Zeichenfolge am Anfang eines SCRIPT-Elements und ignoriert weitere Zeichen bis zum Ende der Zeile. JavaScript interpretiert "//" als Beginn eines Kommentars, der bis zum Ende der aktuellen Zeile reicht. Dies ist erforderlich, um die Zeichenfolge "->" vor dem JavaScript-Parser auszublenden.quelle
Nein, es handelt sich um einen Kater aufgrund einer Problemumgehung, die bei der Einführung des Skriptelements verwendet wurde. Kein Browser versteht das Skriptelement heute nicht (auch wenn er es als "Skript, das ignoriert werden sollte, weil die Skripterstellung deaktiviert oder nicht unterstützt wird" versteht).
In XHTML sind sie aktiv schädlich.
Ich habe vor einiger Zeit etwas über die Geschichte geschrieben .
quelle
Ich habe vor einiger Zeit damit aufgehört. Laut Douglas Crockford können Sie das Typattribut auch aus Ihren Skript-Tags löschen, da JavaScript die einzige in den meisten Browsern verfügbare Skriptsprache ist.
quelle
Wenn Sie manuell tippen, empfehlen wir Ihnen, immer externe JS-Dateien zu verwenden, was sehr hilfreich wäre.
In Bezug auf Ihr Anliegen: Die meisten Browser sind heute JavaScript-sicher. Manchmal schreiben die Leute jedoch einfache Parser, um einen HTML-Code direkt abzurufen - und ich muss sagen, das sichere Zitat ist für diese Kunden wirklich hilfreich. Auch einige Nicht-JS-Clients wie der alte Lynx würden davon profitieren.
quelle
Wenn Sie keinen Literaltext zwischen Skript-Tags einfügen, dh wenn Sie Skripte aus src-Dateien laden, können Sie die Kommentare vergessen.
quelle
Ich würde empfehlen, einen CDATA-Abschnitt zu verwenden, wie in dieser Frage beschrieben .
quelle
Ich habe vor Ewigkeiten damit aufgehört. Du brauchst es heutzutage wirklich nicht mehr.
quelle
Ich mache das nicht, aber neulich habe ich meine passwortgeschützte Site bei w3c überprüft. Also musste ich ihre direkte Eingabemethode verwenden. Es hat sich über mein Javascript beschwert, also habe ich die Kommentare wieder eingefügt, alles war in Ordnung.
quelle