Telefono: +39 392 33 73 731

I commenti condizionali di Internet Explorer

L'immagine che ho scelto per questo articolo è molto significativa: Internet Explorer starebbe meglio cestinato che utilizzato. Quasi tutti i problemi di compatibilità cross browser sono diretti ad una o più versioni di questo browser.

Ormai nel 2013 siamo giunti alla versione 10, e questo dovrebbe seguire ormai gli standard, purtroppo però non possiamo ignorare le tre versioni precedenti: dovranno passare molti anni prima che gli utilizzatori si aggiornino o cambino browser. Solo Internet Explorer 6 ormai è giunto ad una quota di mercato ignorabile, è un browser troppo obsoleto e problematico, e tutti gli sviluppatori concordano che sia inutile e diseconomico perderci tempo.

Abbiamo visto che di strada verso gli standard W3C ne abbiamo fatta negli ultimi due o tre anni, Firefox e Chrome hanno trainato questo trend e sono oggi i due browser più usati, talvolta primeggia il primo, altre volte il secondo. Tuttavia una buona metà di utenti resta con il browser di Microsoft, la stima di questa quota è molto generica perché le statistiche cambiano in base alla nazione ed al sito web specifico.
In ogni caso questa considerevole fetta di mercato non è uniforme: i browser IE7 ed IE8 non supportano HTML5 ed anche alcune proprietà CSS3. La versione IE9 è decente ma con qualche bug.

Quindi come fare per correggere alcuni di questi bug o proporre codice alternativo per salvare la situazione?
Per fortuna Internet Explorer interpreta già da molto tempo una serie di commenti condizionali. Tramite di essi possiamo per esempio scrivere porzioni di codice o caricare file CSS e Javascript specifici per alcune versioni di questo browser. Il tutto senza intaccare gli altri browser del pianeta, i quali giustamente considerano i commenti come porzioni di codice da non eseguire.

Di seguito vengono spiegati gli operatori logici utilizzabili, fate le combinazioni che più vi si addicono.

Condizione per tutte le versioni IE
<!--[if IE]>....<![endif]-->

Condizione valida solo per browser IE7
<!--[if IE 7]>....<![endif]-->

Condizione valida solo per versioni diverse da IE7
<!--[if !IE 7]>....<![endif]-->

Condizione valida solo per versioni superiori a IE6 escluso
<!--[if gt IE 6]>....<![endif]-->

Condizione valida solo per versioni superiori a IE6 incluso
<!--[if gte IE 6]>....<![endif]-->

Condizione valida solo per versioni inferiori a IE9 escluso
<!--[if lt IE 9]>....<![endif]-->

Condizione valida solo per versioni inferiori a IE9 incluso
<!--[if lte IE 9]>....<![endif]-->
Giovedì 18 Ottobre 2012
(0 commenti)

Aggiungi un commento

Nome
E-mail (non verrà pubblicata)
Sito Web
Commento