Вот пример страницы с парой сборщиков даты. Вот результат Drip для этого:
альтернативный текст http://www.picvault.info/images/537090308_omoya.png
Эта страница просачивается на неопределенное время в IE6sp1, когда я нажимаю кнопку Обновить несколько раз (IE6sp3 +, Opera 9, Chrome2 и FF3 + кажутся хорошими). Память увеличивается и никогда не падает, пока я не закрою браузер полностью.
Я также пытался использовать последний ночной jquery (r6414) и последний стабильный интерфейс (1.7.2), но это не имело никакого значения. Я пробовал разные вещи безуспешно ( CollectGarbage , AntiLeak , другие).
Я ищу решение, отличное от «использовать другой браузер !! 1», так как я не могу это контролировать. Любая помощь будет принята с благодарностью!
Обновление 1: Я добавил это событие кнопки в цикл, и вот что происходит (внезапное падение происходит, когда я прекращаю работу IE):
Обновление 2: Я подал отчет об ошибке (скрестив пальцы).
Обновление 3: Это также входит в список рассылки .
Обновление 4: Это (как указано в списке рассылки) не работает, и фактически ухудшает ситуацию:
$(window).bind("unload", function() {
$('.hasDatepicker').datepicker('destroy');
$(window).unbind();
});
Недостаточно просто вызвать уничтожение. Я все еще застрял с этим и очень близок к тому, чтобы вырвать jquery из проекта. Я люблю это (я действительно делаю!), Но если это сломано, я не могу использовать это.
Обновление 5: Начиная награду, еще 550 указывает на одного полезного человека!
Обновление 6: Еще несколько испытаний показали, что эта утечка существует в IE6 и IE6sp1, но была исправлена в IE6sp2 +. Теперь об ответах, которые у меня есть ...
Пока что все ответы были на один из них:
- Отказаться от пользователей IE6sp0 / sp1 или игнорировать
их
- Отладка jquery и устранение проблемы самостоятельно
- Я не могу воспроизвести проблему.
Я знаю, что нищие не могут выбирать, но это просто не ответы на мою проблему.
Я не могу отказаться от своих пользователей. Они составляют 25% пользовательской базы. Это пользовательское приложение, написанное для клиента, предназначенное для работы на IE6. Нельзя отказаться от IE6sp0 / sp1. Нельзя сказать моим клиентам просто разобраться с этим. Он протекает так быстро, что через пять минут некоторые из более слабых машин становятся непригодными для использования.
Кроме того, хотя мне бы хотелось стать ниндзя JS, чтобы я мог выискивать скрытые утечки памяти в коде jquery (если это вина MS, а не jquery), я также не вижу, чтобы это происходило.
Наконец, несколько человек воспроизвели проблему здесь и в списке рассылки. Если вы не можете воспроизвести его, возможно, у вас IE6SP2 + или недостаточно обновления.
Очевидно, что этот вопрос очень важен для меня (отсюда 6 ревизий, щедрость и т. Д.), Поэтому я открыт для новых идей, но имейте в виду, что ни одно из этих трех предложений не сработает для меня.
Спасибо всем за внимание и понимание. Пожалуйста, продолжайте их!
Обновление 7: Щедрость закончилась, и ответ Кейта был автоматически принят SO. Я сожалею, что была награждена только половина баллов (так как я сам не выбрал ответ), но я все еще застрял, так что я думаю, что половина справедлива.
Я надеюсь, что команда jquery / jquery-ui сможет решить эту проблему, но я боюсь, что мне придется списать это как «невозможно (пока)» и прекратить использовать некоторые или все jquery. Спасибо всем за вашу помощь и внимание. Если кто-то придет с реальным решением моей проблемы, пожалуйста, напишите, и я найду способ как-то вас наградить.