ho notato in qualche codice legacy il seguente schema:Perché <! - Non genera un errore di sintassi?
<script>
<!--
// code
// -->
</script>
Dopo alcune ricerche, questo sembra essere un vecchia tecnica molto per nascondere il contenuto di elementi script dal DOM quando il browser non supporta il <script>
elemento. Maggiori informazioni possono essere trovate here.
La mia preoccupazione è questa: perché <!--
non genera un errore di sintassi? Ho trovato su whatwg.org's website che <!--
dovrebbe essere funzionalmente equivalente a //
e che si collega a uno snippet da ECMAScript grammar about comments. Il problema è, <!--
non è affatto definito da quella grammatica.
Quindi questo sembra un comportamento indefinito che sembra essere implementato da tutti i principali browser. Esiste una specifica che permetta questo o è un trucco di retrocompatibilità che le persone stanno portando avanti?
non fa parte di JS, è parte di html. – nnnnnn
Funziona su file JS esterni o solo all'interno di file HTML? – Shomz
Funziona anche in file di script esterni. E @nnnnnn, perché il parser HTML interpreta il mio JavaScript? Sembra strano. – raynjamin