65 votes

Problème avec jQuery dans Internet Explorer 8

J'essaie de faire fonctionner mes fonctions jQuery sur IE8. Je charge la bibliothèque depuis les serveurs de Google ( http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js ). Le $(function(){}) n'est jamais appelé. Au lieu de cela, j'obtiens une erreur "Object expected". J'ai ouvert le développeur et exécuté "typeof $" dans la console, et il est apparu comme "undefined". J'ai essayé d'aller sur d'autres sites qui, je le sais, utilisent jQuery (jquery.com), et tous fonctionnent. Y a-t-il quelque chose qui m'échappe ?

38voto

JeffryHouser Points 35567

J'avais un problème similaire. Tout fonctionnait dans IE6, Firefox et IE8 en mode de compatibilité IE7, mais pas dans IE8 "normal". Ma solution a été de placer ce code dans l'en-tête

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

Je ne comprends pas pourquoi jquery ne fonctionne pas dans IE8.

32voto

asd Points 329

Écrivez "var" devant les variables, lorsque vous les définissez. IE8 meurt quand il n'y a pas de "var".

29voto

Richard Points 291

Correction :

Vérifiez votre balise script include, utilise-t-il

type="application/javascript" src="/path/to/jquery" 

changer pour

type="text/javascript" src="/path/to/jquery"

10voto

Peter Burlingham Points 109

La solution est de passer à la dernière version de jQuery. J'ai eu exactement le même problème et j'ai effectué une mise à jour vers la version 1.4.2. Tout fonctionne à nouveau correctement dans IE8.

Il semble qu'il soit totalement rétrocompatible avec toutes les modifications que j'ai apportées à jQuery 1.3.2, donc je ne me plains pas.

9voto

sheltond Points 91

J'ai eu ce problème et j'ai essayé les solutions mentionnées ici sans succès.

Finalement, je me suis rendu compte que je créais un lien vers la version CDN de Google du script en utilisant une balise http URL tandis que la page intégrant le script était une https page .

Cela a causé IE pour ne pas charger jquery (il demande à l'utilisateur s'il veut charger uniquement du contenu sécurisé). En modifiant l'URL du CDN de Google pour utiliser le schéma https, j'ai résolu le problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X