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 ?

1voto

lenny Points 11

Cela a réglé mon problème dans IE8 :

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>

En fonctionnant sur localhost, j'ai dû modifier le fichier https:// a http://

Si j'essaie de naviguer vers le lien sécurisé, j'obtiens le message suivant Internet Explorer ne peut pas afficher la page web avertissement amical.

Essayez toujours de charger vos scripts texte dans un navigateur en premier si vous avez des problèmes !

0voto

Kyle Points 9

OK ! Je sais que jQuery se charge. Je sais que jQuery.textshadow.js se charge. Je trouve les deux scripts dans Developer Tools.

Le plus étrange : ce code fonctionne dans la zone de contenu mais pas dans la bannière. Même avec un fixIE.css . ET cela fonctionne lorsque je mets le css en ligne. (Ce qui, bien sûr, perturbe FireFox).

J'ai même mis un IE span conditionnel autour du champ de texte de la bannière, sans succès.

Je n'ai trouvé aucune différence et j'ai eu les mêmes erreurs dans les deux cas jquery-1.4.2.min.js y jquery-1.2.6.min.js . jquery.textshadow.js a été téléchargé sur le site de jQuery en essayant de trouver une solution à ce problème.

Cette information n'est pas publiée sur le site Web

0voto

e-sushi Points 11

En bref, c'est à cause du moteur d'analyse d'IE8.

Devinez pourquoi Microsoft a aussi du mal à travailler avec les nouvelles balises HTML5 (comme "section") ? C'est parce que MS a décidé de ne pas utiliser le parsing XML normal, comme le reste du monde. Oui, c'est vrai - ils ont fait une tonne de propagande sur le XML, mais à la fin, ils se rabattent sur un moteur d'analyse "stupide" qui cherche des "balises connues" et qui fout tout en l'air quand quelque chose de nouveau arrive.

Il en va de même pour IE8 et le problème de jquery avec "load", "get" et "post". Encore une fois, Microsoft a décidé de "suivre son propre chemin" avec la version 8. En espérant qu'ils aient résolu ce problème dans IE9, la seule option actuelle est de se rabattre sur l'analyse d'IE7 avec <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> .

Oh bien... quelle surprise que Microsoft nous fasse à nouveau poster des choses sur les forums ;)

0voto

jorisw Points 110

La solution dans mon cas a été de supprimer tous les caractères spéciaux de l'URL à laquelle vous essayez d'accéder. J'avais un tilde (~) et un symbole de pourcentage, et l'appel $.get() a échoué en silence.

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