Jquery getScript la mise en cache

Par Défaut $.getScript() désactive la mise en cache et vous pouvez utiliser $.ajaxSetup et mis en cache pour vrai. Lors de l'essai si le script est en fait mis en cache avec Firebug la plupart du temps, le script est de revenir à 200 (ce Qui signifie que le script est une nouvelle copie) et un à peut-être 20 ou 30 fois il va revenir 304 (sens il a utilisé une version mise en cache). Pourquoi est-il d'obtenir une nouvelle copie de la grande majorité du temps?

$.ajaxSetup({
    cache: true
 });

 $.getScript( scriptFile );

Les fichiers que getScript récupère n'ont pas été modifiés et les demandes sont d'un changement de page à part.

  • est-il cohérent de différence entre rafraîchissement des réponses et actualisation régulière des réponses?
  • Bonne observation. Je voudrais créer un jsfiddle et fichier un défaut à bugs.jquery.com/newticket
  • Est l'URL de changer entre les demandes? Avez-vous essayé d'affichage du cache en-têtes de contrôle de l'URL qui est en cours de téléchargement?
  • Chrome affiche un code de réponse de 200, même quand il note également une opération comme étant satisfait "de la mémoire cache".
  • Firebug est firefox, pas de chrome. L'URL ne change pas entre les demandes.
  • Je sais ce que Firebug est. Mon point est qu'en supposant qu'une réponse 200 signifie que le cache a été contournée peut ne pas être correcte. Vous pouvez utiliser un renifleur de paquets pour voir si il y a effectivement un HTTP objet de la demande. Pas aussi exactement ce qui se passe dépend du cache-control en-têtes envoyés par le site sur la demande d'origine.
  • Votre question ne peut pas recevoir un décent réponse jusqu'à ce que vous postez la réponse http en-têtes de votre serveur envoie pour scriptFile.
  • Pointu, merci de laisser une réponse disant que c'est un bug dans chrome et vous pouvez ajouter de moi que ses AUSSI un bug dans firefox, il vous dira que c'est PAS de cache quand il en fait.

InformationsquelleAutor Case | 2012-10-14