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 ?
Réponses
Trop de publicités?JQuery n'est pas chargé. Ce problème n'est probablement pas spécifique à IE8. Vérifiez le chemin d'accès de votre déclaration jQuery include. Ou mieux encore, utilisez le chemin suivant vers le CDN :
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js">
</script>
Si vous utilisez le protocole HTTPS sur votre site, vous devrez charger la bibliothèque jQuery à partir du serveur https de Google. Essayez ceci : https://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js (ou la dernière https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js )
L'erreur Object expected
est soulevé parce que Jquery n'est pas chargé. Cela se produit à cause de la sécurité du navigateur (généralement IE) qui ne vous permet pas d'exécuter le code source de javascript externe. Vous pouvez corriger ce problème en :
- 1 : Modifier le niveau de sécurité du navigateur pour permettre l'exécution de code javascript externe. Vous pouvez trouver comment faire ici
O
- 2 : Copiez-collez le code source de jquery dans votre page web afin qu'il ne soit pas considéré comme un script externe.
Je préfère la première solution.