Voici un page des échantillons avec un couple de cueilleurs de dattes. Voici le résultat de Drip pour ça :
Cette page fuit indéfiniment dans IE6sp1 lorsque je clique sur le bouton Rafraîchir à plusieurs reprises (IE6sp3+, Opera 9, Chrome2, et FF3+ semblent être bons). La mémoire augmente et ne diminue jamais jusqu'à ce que je ferme complètement le navigateur.
J'ai également essayé d'utiliser la dernière version nocturne de jquery (r6414) et la dernière version stable de l'interface utilisateur (1.7.2) mais cela n'a fait aucune différence. J'ai essayé plusieurs choses sans succès ( CollectGarbage , AntiLeak et autres).
Je cherche une solution autre que "utilisez un autre navigateur!1", car je n'ai aucun contrôle là-dessus. Toute aide sera grandement appréciée !
Mise à jour 1 : J'ai ajouté l'événement de ce bouton à une boucle et voici ce qui se passe (la chute soudaine se produit lorsque je ferme IE) :
Mise à jour 2 : J'ai déposé une rapport de bogue (croisons les doigts).
Mise à jour 3 : C'est aussi sur le liste de diffusion .
Mise à jour 4 : Ceci (comme signalé sur la liste de diffusion) ne fonctionne pas, et en fait aggrave les choses :
$(window).bind("unload", function() {
$('.hasDatepicker').datepicker('destroy');
$(window).unbind();
});
Il ne suffit pas d'appeler détruire. Je suis toujours bloqué sur ce point et je suis sur le point de retirer jquery du projet. Je l'adore (vraiment !) mais s'il est cassé, je ne peux pas l'utiliser.
Mise à jour 5 : En commençant la prime, un autre 550 points à une personne utile !
Mise à jour 6 : Des tests supplémentaires ont montré que cette fuite existe dans IE6 et IE6sp1, mais a été corrigée dans IE6sp2+. Maintenant, à propos des réponses que j'ai jusqu'à présent...
Jusqu'à présent, toutes les réponses ont été l'une d'entre elles :
- Abandonner les utilisateurs d'IE6sp0/sp1 ou les ignorer ou les ignorer
- Déboguer jquery et résoudre le problème moi-même
- Je ne peux pas reproduire le problème.
Je sais que les mendiants ne peuvent pas faire le difficile, mais ce ne sont tout simplement pas des réponses à mon problème.
Je ne peux pas abandonner mes utilisateurs. Ils représentent 25% de la base d'utilisateurs. C'est une application personnalisée écrite pour un client, conçue pour fonctionner sur IE6. Il n'est pas question d'abandonner IE6sp0/sp1. Je ne peux pas dire à mes clients de faire avec. Il fuit si vite qu'après cinq minutes, certaines des machines les plus faibles sont inutilisables.
De plus, même si j'aimerais devenir un ninja du JS pour pouvoir traquer les obscures fuites de mémoire dans le code de jquery (il est vrai que c'est la faute de MS, pas de jquery), je ne vois pas cela arriver non plus.
Enfin, plusieurs personnes ont reproduit le problème ici et sur la liste de diffusion. Si vous ne pouvez pas le reproduire, il se peut que vous ayez IE6SP2+, ou que vous ne rafraîchissiez pas assez.
Il est évident que cette question est très importante pour moi (d'où les 6 révisions, la prime, etc.) et je suis donc ouvert à de nouvelles idées, mais gardez à l'esprit qu'aucune de ces trois suggestions ne me conviendra.
Merci à tous pour votre réflexion et vos idées. Continuez à nous en faire part !
Mise à jour 7 : Le bounty a pris fin et la réponse de Keith a été acceptée automatiquement par l'OS. Je suis désolé que seulement la moitié des points aient été attribués (puisque je n'ai pas choisi la réponse moi-même), mais je suis toujours très bloqué et je pense que la moitié est juste.
J'espère que l'équipe jquery/jquery-ui pourra résoudre ce problème, mais j'ai peur de devoir le considérer comme "impossible (pour l'instant)" et d'arrêter d'utiliser tout ou partie de jquery. Merci à tous pour votre aide et votre considération. Si quelqu'un trouve une vraie solution à mon problème, merci de le poster et je trouverai un moyen de le récompenser.