In questa lezione vedremo come inserire dei commenti allโinterno del codice HTML delle nostre pagine web. Circa lโimportanza dei commenti ritengo opportuno rammentarvi che la presenza di annotazioni allโinterno del codice rappresenta non solo una buona regola di programmazione, ma รจ anche una pratica utilissima che faciliterร ogni tipo di intervento futuro (effettuato da noi o da terzi) allโinterno del codice il quale, purtroppo, non รจ sempre self explanatory.
Cosa sono i commenti
In linea generale possiamo dire che i commenti allโinterno del codice, a prescindere dal linguaggio con cui questo รจ scritto, sono delle note inserite dallo sviluppatore e visibili esclusivamente accedendo al sorgente.
I commenti allโinterno del codice HTML, quindi, non sono visibili agli utenti in quanto si tratta di porzioni di testo che non verranno renderizzate dal browser, ma saranno visibili solo a quegli utenti che, per curiositร , vorranno aprire il codice sorgente della pagina web.
Nel caso del codice HTML i commenti possono essere utilizzati per:
- inserire annotazioni in determinati punti del codice affinchรจ questo, in futuro, possa essere mantenuto e modificato piรน semplicemente;
- marcare determinati blocchi o punti della pagina al fine di renderli piรน facilmente riconoscibili;
- rendere momentaneamente invisibili determinate porzioni di codice durante un debug o una modifica temporanea;
- attivare CSS o script solo in determinate versioni del browser Internet Explorer (cd. commenti condizionali).
La sintasi dei commenti HTML
La sintassi di un commento in HTML รจ la seguente:
<!-- TESTO DEL COMMENTO -->
Come potete notare il commento deve iniziare con <!โ e terminare con โ>.
Nellโesempio visto in precedenza il commento era su un unica linea ma nulla vieta di creare commenti piรน corposi anche su piรน linee. Per farlo sarร necessario fare in questo modo:
<!--
PRIMA LINEA DI COMMENTO
SECONDA LINEA DI COMMENTO
TERZA LINEA DI COMMENTO
-->
i commenti in HTML, in passato, sono stati molto utilizzati anche nello scripting lato client: era considerato buona norma, infatti, inserire il codice Javascript allโinterno dei marcatori di commento in modo da ovviare ad eventuali problemi di visualizzazione con browser obsoleti e privi di supporto per Javascript. Vediamo un esempio:
<script type="text/javascript">
<!--
alert('Ciao da Mr.Webmaster');
//-->
</script>
Altra forma particolare di commenti sono i commenti condizionali che rappresentano una sintassi proprietaria del browser di casa Microsoft Internet Explorer.
Esempi pratici di utilizzo dei commenti in HTML
Vediamo, di seguito, alcuni casi pratici di utilizzo dei commenti.
Esempio di annotazione nel codice:
<html>
<body>
<!-- Questo DIV รจ utilizzato come distanziatore ed ha un'altezza di 30 pixel -->
<div class="xyz"></div>
</body>
</html>
Esempio di commenti utilizzati per marcare alcuni punti nel codice (ad esempio i tag di chiusura dei DIV strutturali):
<html>
<body>
<div class="pippo">
<div class="pluto">
<div class="topolino">
</div><!-- Chiusura DIV topolino -->
</div><!-- Chiusura DIV pluto -->
</div><!-- Chiusura DIV pippo -->
</body>
</html>
Esempio di commenti utilizzati per "disattivare" alcune porzioni di codice senza cancellarle:
<html>
<body>
<!-- <p>Il nostro ristorante รจ chiuso per ferie!</p> -->
<p>Il nostro ristorante รจ aperto!</p>
</body>
</html>
I commenti condizionali di Internet Explorer
Chiunque abbia sviluppato un qualunque sito di media complessitร si sarร reso conto che il risultato prodotto risulta (talvolta leggermente, talvolta notevolmente) diverso a seconda che si visualizzino le pagine web con un browser piuttosto che un altro. Fino a qualche anno fa il problema era particolarmente accentuato a causa di alcune "particolaritร " di Internet Explorer che, a causa della sua scarsa compatibilitร con gli standard, ha creato non pochi grattacapi agli sviluppatori di pagine web.
Consapevoli di queste problematiche, gli sviluppatori di casa Microsoft hanno implementato, allโinterno del proprio browser, il supporto ad un particolare tipo di commenti, detti appunto commenti condizionali, grazie ai รจ possibile utilizzare fogli di stile o script specifici per le diverse versioni di questo browser.
Per cominciare precisiamo che questo particolare tipo di sintassi condizionale viene racchiusa tra i classici marcatori utilizzati nei commenti al codice HTML e, come questi, non generano alcun output a video.
la particolaritร di questo tipo di commenti รจ che questi ospiteranno delle istruzioni attraverso le quali verificare se una data condizione (se lโutente utilizza o meno una data versione di IE) si รจ verificata oppure no. Per prima cosa vediamo la sintassi:
<!--[if espressione]>
...
<![endif]-->
Eโ opportuno ricordarsi che questi commenti, per funzionare correttamente, vanno inseriti sempre allโinterno dei tag <head> e </head>.
Vediamo qualche esempio che meglio illustrerร il funzionamento dei commenti condizionali:
Verifichiamo che il browser si Internet Explorer (IE)
<!--[if IE]>....<![endif]-->
Verifichiamo che il browser sia IE versione 9
<!--[if IE 9]>....<![endif]-->
Verifichiamo che il browser sia IE versione diversa dalla 9
<!--[if !IE 9]>....<![endif]-->
Verifichiamo che il browser sia IE versione superiore alla 7
<!--[if gt IE 7]>....<![endif]-->
Verifichiamo che il browser sia IE versione uguale o superiore alla 6
<!--[if gte IE 6]>....<![endif]-->
Verifichiamo che il browser sia IE versione inferiore alla 6
<!--[if lt IE 6]>....<![endif]-->
Verifichiamo che il browser sia IE versione uguale o inferiore alla 6
<!--[if lte IE 6]>....<![endif]-->
Negli esempi sopra abbiamo visto anche il funzionamento di diversi operatori di confronto. Vediamo un riepilogo qui sotto:
Operatore | Significato |
---|---|
! | Negazione |
gt | Maggiore |
gte | Maggiore o Uguale |
lt | Minore |
lte | Minore o Uguale |
Utilizzo pratico dei commenti condizionali
Un esempio tipico di utilizzo dei commenti condizionali riguarda i CSS. Di seguito due possibili scenari di utilizzo:
- possiamo importare due fogli di stile, uno per tutti i browser e lโaltro con le modifiche da far intepretare ad Internet Explorer
- oppure scrivere il codice CSS allโinterno della pagina e poi scriverene altro allโinterno del commento condizionale
Di seguito due esempi che meglio illustreranno quanto detto poco sopra:
<link rel="stylesheet" href="tutti.css" type="text/css" />
<!--[if IE]>
<link rel="stylesheet" href="iexplorer.css" type="text/css" />
<![endif]-->
<style type="text/css">
h1 { color: #FF0000 }
</style>
<!--[if IE]>
<style type="text/css">
h1 { color: #0000FF }
</style>
<![endif]-->
<h1>Prova</h1>
Vi invito a provare questโultimo codice sia su Internet Explorer che su un altro browser: noterete che i caratteri compresi in <h1> e </h1> verranno visualizzati di color rosso con tutti i browser e blu con IE.
Lo strumento offerto dai commenti condizionali risulta essere utilissimo per compensare le differenze tra i vari browser nella lettura dei CSS. Con un poโ di attenzione potrete, finalmente, realizzare siti realmente cross-browser senza troppa fatica!