2013-08-20 17 views
26

Sto utilizzando jQuery 2.0.2 e ho un errore in IE8:oggetto non supporta addEventListener IE8 in jQuery

oggetto non supporta la proprietà o il metodo jquery.min.js 'addEventListener', riga 4 carattere 6105

In qualche modo tutti i miei codici vanno bene con chrome e firefox, ad eccezione di ie8.

Ottenere questi errori anche portato a:

Il valore della proprietà '$' è null o undefined, non un oggetto Function

ho inserito la query in cima ad altri file js ho utilizzando:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script> 

so sostegno doesnt Jquery2 + IE8, ma non voglio utilizzare una versione minore di jQuery.

+0

qual è il pezzo di codice che causa questo errore? – AdityaSaxena

risposta

38

jQuery 2.x ha cessato il supporto per IE < 9, quindi se si vuole sostenere IE7 & 8 quindi utilizzare la versione più recente del ramo 1.x - ora 1.11.0

Da jQuery

jQuery 2.x ha la stessa API di jQuery 1.x, ma non supporta Internet Explorer 6, 7 o 8. Tutte le note nella guida di jQuery 1.9 Aggiornamento si applicano anche qui. Poiché IE 6/7/8 sono ancora relativamente comuni, raccomandiamo l'uso della versione 1.x a meno che non siate certi che gli utenti di IE 6/7/8 visitino il sito.

+0

Ricorda che la differenza tra jQuery 1.xe 2.x non è solo il supporto deprecato per MartinR

11

jQuery 1.9 è equivalente a jQuery 2.0 per quanto riguarda funzionalità, correzioni di errori, ecc. Sono entrambi attivamente sviluppati.

L'unica differenza è il codice che fornisce la compatibilità di IE è stato rimosso per rendere la dimensione del file e la velocità di esecuzione migliore.

Se si desidera utilizzare diverse versioni jQuery a seconda del browser, è possibile utilizzare un tag condizionale, come questo.

<!--[if !IE]> --> 
    <script src="jquery-2.0.0b2.js"></script> 
<!-- <![endif]--> 

<!--[if IE]> 
    <script src="jquery-1.9.1.js"></script> 
<![endif]--> 

Nota l'evidenziazione della stnttax. Il primo sono solo due commenti che sono fratelli del tag script e quest'ultimo è un commento con il tag script al suo interno. I browser seguono semplicemente le regole di analisi del DOM e caricano/eseguono il primo script. IE devia e non eseguirà il primo, ma eseguirà quest'ultimo.

0

jQuery 2.x ha cessato il supporto per IE < 9. Tuttavia è possibile uso multiplo jQuery versione stessa pagina web.

Questo può essere fatto utilizzando jQuery.noConflict()

+2

è meglio utilizzare il caricamento di script condizionale dalla versione di IE ... – Yuki

Problemi correlati