Ein altes Idiom sehr alten Browser für den Erhalten Sie JavaScript Blöcke in HTML-Seiten zu ignorieren ist, den Inhalt des <script>
Elements in HTML-Kommentaren zu setzen:HTML Eröffnungs-Kommentar ist gültig JavaScript?
<script>
<!--
alert("Your browser supports JavaScript");
//-->
</script>
Das Grundprinzip ist, dass alter JavaScriptless Browser als Text übertragen wird den Inhalt des Elements <script>
, so dass der JavaScript in einen HTML-Kommentar eingefügt wird, macht der Browser nichts zu rendern.
Ein moderner Browser hingegen wird das Element <script>
sehen und seinen Inhalt als JavaScript analysieren. Folglich müssen die Kommentare ein gültiges JavaScript sein. Der abschließende HTML-Kommentar (-->
) wird vom JavaScript-Parser ignoriert, da ihm ein JavaScript-Zeilenkommentar vorangestellt ist (//
).
Meine Frage ist, wie die Eröffnung HTML-Kommentar (<!--
) nicht dazu führen, dass der JavaScript-Parser fehlschlagen? Ich habe von verschiedenen Leuten gehört, dass der öffnende HTML-Kommentar ein gültiges JavaScript ist. Wenn es stimmt, dass der Eröffnungskommentar als JavaScript ausgewertet wird, was macht er dann, wenn er ausgeführt wird?
Es ist gültig, fügen Sie es einfach in Ihre Konsole ein. Ich wäre aber neugierig, warum. – kapa
wenn es ausgeführt wird, gibt es undefined zurück und funktioniert wie ein normaler '//' Kommentar. sieht aus wie eine fest codierte Zauberschnur? neugierig, die tatsächliche Antwort auch zu wissen. – c69
Nice spot :) Fängt an Line Kommentare wie folgt zu machen, nur um mit den Köpfen der Leute zu spielen: D – clentfort