Un vecchio linguaggio per ottenere molto vecchi browser di ignorare i blocchi JavaScript in pagine HTML è quello di avvolgere il contenuto dell'elemento <script>
nei commenti HTML:HTML Opening-Comment è valido JavaScript?
<script>
<!--
alert("Your browser supports JavaScript");
//-->
</script>
La logica è che i vecchi browser JavaScriptless renderanno come testo il contenuto dell'elemento <script>
, quindi inserire il codice JavaScript in un commento HTML fa sì che il browser non abbia nulla da mostrare.
Un browser moderno, d'altra parte, vedrà l'elemento <script>
e analizzerà il suo contenuto come JavaScript. Di conseguenza, i commenti devono essere validi JavaScript. Il commento HTML di chiusura (-->
) viene ignorato dal parser JavaScript perché è preceduto da un commento di riga JavaScript (//
).
La mia domanda è, in che modo il apertura del commento HTML (<!--
) non causa l'errore del parser JavaScript? Ho sentito da varie persone che il commento HTML di apertura è un JavaScript valido. Se è vero che il commento di apertura viene valutato come JavaScript, che cosa fa quando viene eseguito?
È valido, è sufficiente inserirlo nella console. Sarei curioso di sapere perché, però. – kapa
quando eseguito restituisce undefined e funziona come un normale commento '//'. sembra una stringa magica hardcoded? curioso di sapere anche la risposta vera. – c69
Bel posto :) Comincerà a fare commenti di linea come questo d'ora in avanti solo per giocare con le menti delle persone: D – clentfort