11

Sto usando il seguente IE commento condizionale:IE commenti condizionali e Chrome/Firefox

<!--[if gt IE 7]> 
Here is some code. 
<![endif]--> 

Questa grande opera per mantenere il codice di rendering in qualsiasi IE inferiore a 8.
Tuttavia, questo mantiene anche il codice dal rendering in Chrome e Firefox.

Qualche idea sul perché questo sta accadendo e su come posso ottenere il codice da eseguire nei browser diversi da IE?

risposta

42

I commenti condizionali sono una regola specifica per Microsoft IE e non fanno parte di alcuno standard. Se si seleziona la struttura di un commento condizionale:

<!--[if gt IE 7]> 
Here is some code. 
<![endif]--> 

Come il suo nome implicherebbe, è tutto solo un grande commento <!-- comment -->. IE controlla i commenti per condizioni come queste che, ancora una volta, non rispettano gli standard HTML.

Per creare codice che non rende in IE, ma vuol rendere in altri browser, è possibile utilizzare il seguente condizionale:

<!--[if !IE]> --> 
This will be rendered by anything but IE. 
<!-- <![endif]--> 

vedere come le condizioni sono racchiusi nei commenti chiusi? Ecco perché viene visualizzato nei normali browser, mentre IE verifica il condizionale e decide di omettere tutto fino allo endif.

EDIT

Se si desidera aggiungere un'altra condizione, e mantenere il rendering del codice su browser diversi da IE, è possibile utilizzare la seguente soluzione:

<!--[if gt IE 7]> <!-- --> 
Here is some code for anything but IE 7 and below. 
<!-- <![endif]--> 

Nota ho dovuto usare aprire il commento di nuovo per impedire a IE di rendere --> prima del codice. Altri browser lo considereranno ancora parte del commento.

+0

Desidero che il codice venga visualizzato per IE 8 e IE 9, ma nessuna versione di IE precedente. Voglio anche che il codice venga mostrato in Chrome e Firefox. – Baxter

+1

Finché si chiudono i commenti, suppongo che dovrebbe fare per qualsiasi condizione. – zebasz

+1

L'ho provato, non funziona abbastanza. Ho trovato una soluzione, quindi modifico e aggiungo. – zebasz

Problemi correlati