2009-10-12 8 views
0

J'ai des onglets d'interface utilisateur jQuery qui chargent leur contenu via AJAX. Environ une fois toutes les 15 fois lorsque la page entière est chargée (pas seulement XHR), les choses échouent et je ne vois pas le bon contenu dans l'onglet.Les scripts échouent lorsque jQuery.js n'est pas mis en cache. En cache, les scripts s'exécutent correctement.

Fiddler m'a montré que lorsque les choses échouent, je vois aussi que jQuery.js et jQuery-ui.js sont tous deux envoyés au navigateur en entier (~ 100kB). Normalement, un chargement de page entraîne le code d'état HTTP 304 pour ces deux fichiers, ils ne sont pas ret téléchargés et la page s'affiche correctement. Lorsque le code d'état est 200 et que des copies fraîches de jQuery/UI sont envoyées, les choses échouent.

Je le remarque le plus souvent dans IE8, mais c'est parce que je l'utilise pour le développement web. Je l'ai vu dans Firefox, mais pour une raison quelconque, je ne peux pas le reproduire maintenant.

Fiddler montre que la requête HTTP demande:

GET /Scripts/jquery-1.3.2.min.js?_=1255309685187 HTTP/1,1

je ne peux pas à quoi sert le? _ = 1255309685187, mais je suppose que c'est un signe pour indiquer combien de temps le fichier doit être mis en cache.

Puisque je ne peux pas reproduire le problème dans Firefox maintenant, je ne sais pas ce que dit Firebug.

Tout aperçu serait apprécié.

EDIT: Ceci est avec le serveur Web de développement de Visual Studio.

Répondre

0

Je pense que vous avez tort au sujet du paramètre underscore. La seule façon d'y arriver est si elle fait partie de votre attribut script src. Avez-vous essayé un débogueur javascript?

+0

Non, je n'ai pas essayé de le déboguer. Le code JavaScript semble s'exécuter correctement, mais la page s'affiche incorrectement. Je n'ai jamais eu de chance avec le débogueur JavaScript de Visual Studio, et comme je ne peux pas reproduire le problème en FF maintenant, je ne peux pas utiliser Firebug. – royco

+0

N'est-ce pas la vérité: là où vous avez les meilleurs outils que vous ne pouvez pas obtenir, et où vos outils ressemblent à des haches en pierre, vous obtenez toutes sortes d'erreurs bizarres. Checkout FirebugLite à http://getfirebug.com/lite.html. Cela pourrait aider. Bonne chance. –

Questions connexes