2009-11-07 14 views
6

Sto usando <!--[if IE 8]><![endif]--> per il targeting IE8, ma c'è qualche JS che voglio caricare per tutti i browser ECCETTO IE8, quale commento condizionale dovrei usare?Commento condizionale per 'Eccetto IE8'?

Edit: Mi chiedo se questo dovrebbe funzionare: <!--[if lte IE 8]><![endif]-->

Grazie

+1

L'opzione * lte * includerà il JS in IEs prima di 8.0 ma non in browser non-IE. –

+0

LTE significa minore o uguale. Se vuoi meno strettamente di, usa invece LT. – EricLaw

risposta

13

Posso pensare a un trucco. Imposta una variabile all'interno del tag condizionale IE e includi il tuo codice JS se quella variabile non è impostata.

<script> 
    var ie8 = false; 
</script> 

<!--[if IE 8]> 
    <script> 
     ie8 = true; 
    </script> 
<![endif]--> 

<script> 
    if (ie8 == false) { 
     // any code here will not be executed by IE 8 
     alert("Not IE 8!"); 
    } 
</script> 
+0

La migliore soluzione a questo problema mi sono imbattuto, e dovrei saperlo. Ho passato l'intera giornata a provare a farlo con affermazioni puramente condizionali! – mickburkejnr

+0

Questo è stato un ottimo trucco, Siddhartha. E la possibilità di riportare la tua mente nella polvere del tempo che è IE;) –

+0

si convince perfettamente nel 2015! grazie – lowtechsun

0

Prova negazione, [if !IE 8] forse?

+5

Quindi esce IE9 e si avrà un comportamento piuttosto interessante. Naturalmente a questo punto non sarei sorpreso se IE mostrasse arcobaleni e unicorni invece di ciò che intendevo. – Matt

19

ci sono alcune JS che voglio da caricare per tutti i browser tranne IE8, che cosa commento condizionale dovrei usare?

Per far apparire qualcosa in "altri browser" che non supportano CC, è necessario un commento condizionale downlevel-revealed.

<!--[if !IE 8]><!--> 
    .... 
<!--<![endif]--> 

(questo è leggermente diverso per la sintassi ufficiale di Microsoft, che non è valido HTML.)

“Tutti i browser tranne IE8” è un requisito insolito, sei sicuro che è quello che vuoi? Che dire delle versioni future di IE?

+1

+1 Questo è uno scherzo di un trucco intelligente con i commenti nidificati. – Raynos

+0

Suppongo che potresti usare il tuo codice con if "gte IE 8" se vuoi nasconderlo dalle versioni future di IE, giusto? – ph33nyx

+0

@ ph33nyx: Sì, sarebbe un tipo di test molto più comune di 'if! IE8'. – bobince

Problemi correlati