2013-06-04 24 views

risposta

51

Verificare che la pagina non sia in modalità Quirks o Modalità compatibilità. È possibile utilizzare gli strumenti di sviluppo F12 per confermare questo. Premi F12 e guarda nell'angolo in alto a destra della finestra risultante. Se vedi "Compatibilità" o "Quirks" nella descrizione della modalità, hai trovato il problema. Modalità

  • Quirks: questo di solito è innescato da un Doctype mancante o rotto. Se questo è il caso, assicurarsi che la pagina inizia con il seguente:

    <!DOCTYPE html> 
    
  • modalità di compatibilità (modalità IE7): Questo può essere attivato se si sta visualizzando la pagina locale (cioè in esecuzione sul vostro macchina locale, ad esempio per test o sulla rete locale). In questo caso, sei stato colpito da una configurazione di IE che dovresti disattivare. Vai al menu Strumenti e seleziona l'opzione Impostazioni vista di Comaptibility. Deseleziona le opzioni di compatibilità e la pagina dovrebbe iniziare a funzionare.

    La modalità compatibilità può anche essere attivata (o evitata) da un meta tag X-UA-Compatibility. Se hai problemi con la modalità di compatibilità, questo è un buon modo per evitarlo: Aggiungere la seguente riga di codice:

    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    

uno (o entrambi) di cui sopra potrebbe essere il problema, ma la mia ipotesi è che il problema sia la modalità di compatibilità. L'impostazione di compat-mode-on-intranet-sites è sorprendentemente poco conosciuta e cattura molte persone, anche alcuni sviluppatori esperti.

+1

Buon punto a proposito di Visualizzazione Compatibilità - Credo che IE lanci lo stesso errore anche in quella modalità, se in effetti non funziona lì. – BoltClock

+0

Grazie, la correzione del problema di compatibilità mi ha aiutato a risolvere un problema con Jquery Datepicker in IE –

+0

Ho riscontrato il problema che il tag '' era tra il '' e il tag '', quindi assicurati che la tua struttura HTML sia valida. – mrzmyr

12

IE8 supporta solo querySelectorAll() in modalità standard. Da MSDN:

L'API selettori è definito come parte della specifica Selectors API ed è disponibile solo per le pagine Web visualizzate in modalità standard IE8.

È probabile che la tua pagina non abbia una dichiarazione DOCTYPE corretta; dovrai aggiungerne uno

+3

inoltre, selezionerà solo i dom node utilizzando selettori css 2. –

+0

No, seleziona i nodi usando i selettori che supporta. Alcuni selettori CSS3 sono noti per essere supportati da IE8, inclusi tutti i selettori di attributi e il combinatore '~'. – BoltClock