2011-10-25 5 views
4

Je rencontre des problèmes avec IE9 dans notre nouveau site Web. Les fichiers jQuery ne sont pas en cours de chargement. J'ai d'abord essayé le CDN sur Google mais j'ai aussi essayé le CDN de Microsoft, les deux ayant échoué. J'ai vu des articles sur l'utilisation de la dernière version de jQuery. J'ai attrapé le dernier (1.6.4) et cela n'a pas aidé. Je comprends que c'est la protection de suivi, mais puisque c'est notre site «frontal», ce n'est pas comme si nous pouvions faire en sorte que les navigateurs ajoutent notre site à leur «liste blanche» ou désactivent la protection de suivi. Alors que l'hébergement local des fichiers est la prochaine étape évidente, mon autre préoccupation est que le code google analytics échoue également.IE9 bloquant jQuery CDN

Y at-il une solution à cela?

+1

ce qui est l'URL CDN pour vos fichiers jQuery? –

+0

Ne peut-il échouer que si vous utilisez un schéma d'URL de fichier à tester et que jQuery est associé à un chemin sans protocole? – Marcel

+0

@AlastairPitts essayé https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js et http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.4. js. L'utilisation du fichier local résout le problème (comme prévu), mais le code de Google Analytics ne se charge pas (et donc ralentit énormément le chargement de la page). – lloydphillips

Répondre

15

Utilisez l'implémentation de jquery comme indiqué dans http://html5boilerplate.com/.

<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if offline --> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> 
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.6.4.min.js"><\/script>')</script> 
+0

De cette façon, si l'emplacement cdn ne se charge pas, il reviendra à votre copie locale et tout continue de fonctionner. Il y a quelques belles vidéos sur le site html5boilerplate qui parlent de cette implémentation. – jhanifen

+3

J'avais oublié ça! Excellente suggestion. –

+0

Cela prend toujours une éternité pour 'essayer' de charger le fichier cdn et d'abandonner, d'ici là les autres fichiers locaux nécessitant jQuery ont été chargés dans le navigateur (et ont donc échoué lors du chargement du fichier local). – lloydphillips

0

je pensais qu'il valait mieux ajouter mes résultats dans une réponse Incase quelqu'un frappe cela et ne pas parcourir les commentaires, mais mieux pour suivre les commentaires de la réponse par @jhanifen. J'ai dû utiliser une copie locale de jQuery, en utilisant le CDN (même sur CDN de Microsoft) ne fonctionnait pas.

Mon code google n'était pas placé sous l'étiquette de fin de corps, il était juste au-dessus, rectifiant le problème.

Typekit, je devais utiliser conditionals, mais qui contrecarre l'objet d'utiliser Typekit, en particulier étant donné que vous penseriez IE9 était « un navigateur moderne ». Fou!

J'ai demandé à Typekit de vérifier s'il y avait un problème et de le modifier s'il revenait avec quelque chose d'utile.

1

Certaines variantes de jhanifen's solution. En utilisant head.js lib nous pouvons charger jQuery et d'autres libs un peu plus vite:

<script src="js/libs/head.load.min.js"></script> 
<script> 
    head.js("https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js",function() { 
     window.jQuery || head.js("js/libs/jquery-1.7.1.min.js"); 
    }); 
</script>