javascript comment - Sind HTML-Kommentare in Skript-Tags eine bewährte Methode?




5 Answers

Wichtig ist, dass heutzutage die Frage, ob ein bestimmter Browser JavaScript unterstützt oder nicht, irrelevant ist (offensichtlich die allermeisten) - es ist irrelevant, weil fast alle Skriptblöcke verstehen, was bedeutet, dass sie das JavaScript ignorieren, auch wenn sie es nicht können interpretiere es.

Matt Kruse gibt auf seiner JavaScript Toolbox- Site eine etwas detailliertere Erklärung, warum ausdrücklich keine HTML-Kommentare in Skriptblöcken verwendet werden sollten.

Zitat 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 Kenntnisse über das Skript-Tag. Als JavaScript zum ersten Mal veröffentlicht wurde, wurde eine Technik benötigt, um den Code vor älteren Browsern zu verbergen, so dass sie nicht als Text auf der Seite angezeigt würden. Der "Hack" sollte HTML-Kommentare innerhalb des Skriptblocks verwenden, um den Code zu verbergen.

Verwenden von HTML-Kommentaren im Skript ist fehlerhaft

// DON'T do this! Code is just representative on how things were done
<script language="javascript">
<!--
   // code here
//-->
</script>

Keine Browser, die heute gebräuchlich sind, kennen das <script> -Tag nicht, daher ist das Ausblenden der JavaScript-Quelle nicht länger notwendig. In der Tat kann es aus folgenden Gründen als schädlich angesehen werden:

  • In XHTML-Dokumenten wird die Quelle tatsächlich von allen Browsern ausgeblendet und unbrauchbar gemacht
  • - ist in HTML-Kommentaren nicht erlaubt, daher sind Dekrementierungsvorgänge im Skript ungültig
multiple lines

Die folgende Übung ist ziemlich üblich in dem Inline-JavaScript, mit dem ich arbeiten muss:

<script type="text/javascript">
   <!--
       // Code goes here
   //-->
</script>

Ich weiß, dass es darum geht zu verhindern, dass Browser, die mit JavaScript nicht kompatibel sind, die Quelle darstellen, aber ist dies heute noch eine Best Practice? Die große Mehrheit der heute verwendeten Browser kann JavaScript interpretieren; Selbst moderne mobile Geräte haben normalerweise keine Probleme.

Was das "warum nicht?" Frage: Ich musste vor Kurzem mehrere Stunden damit verbringen, ein Problem zu debuggen, bei dem jemand das '//' vor einem '->' am Ende eines tief in einigen Seiten vergrabenen Skript-Tags ausgeblendet hatte, was mysteriöses JavaScript verursachte Fehler.

Wie geht's? Wird dies immer noch als "Best Practice" angesehen?




Nein, es ist ein Kater von einer Problemumgehung, die bei der Einführung des Skriptelements verwendet wurde. Kein Browser kann das Skriptelement heute nicht verstehen (auch wenn es als "Skript, das ignoriert werden soll, weil Skripting deaktiviert oder nicht unterstützt wird").

In XHTML sind sie aktiv schädlich.

Ich habe vor einiger Zeit etwas über die Geschichte geschrieben .




Ich habe vor einiger Zeit damit aufgehört. Laut Douglas Crockford können Sie das type-Attribut auch aus Ihren Skript-Tags entfernen, da die einzige in den meisten Browsern verfügbare Skriptsprache JavaScript ist.




Wenn Sie keinen literalen Text zwischen script-Tags einfügen, dh wenn Sie Skripte aus src-Dateien laden, können Sie die Kommentare vergessen.




Ich habe das vor Ewigkeiten aufgehört. Du brauchst es heute wirklich nicht.




Related

javascript html