Загрузка изображения несколько раз, это ошибка Firefox или NivoSlider? - PullRequest
3 голосов
/ 25 мая 2011

Когда я открывал две вкладки с Nivo Slider в каждой, я заметил, что сетевая вкладка firebug показывает несколько заявок на одно и то же изображение при каждой смене слайдов.Он увеличивает размер страницы (в мегабайтах) и использование / распределение памяти для firefox.exe.Через некоторое время мой компьютер стал очень медленным, и выделение памяти в мониторе задач превысило 1 ГБ.

Как его воспроизвести: 1- Откройте http://nivo.dev7studios.com/ в 2 вкладках в Firefox (протестировано в 3.6~ 5.0) 2- Откройте сетевую панель firebug во второй вкладке 3 - перезагрузите вторую вкладку

here is the proof

Ответы [ 4 ]

6 голосов
/ 25 мая 2011

Я только что протестировал в FF 3.6 - та же проблема.

Посмотрите на файл http://nivo.dev7studios.com/scripts/nivo-slider/jquery.nivo.slider.js: 84

//Set first background
slider.css('background','url("'+ vars.currentImage.attr('src') +'") no-repeat');

Также строки 253, 262, 284и т.д. Он добавляет фоновое изображение на лету, поэтому браузер должен запрашивать его снова и снова.К счастью, сервер отвечает заголовком 304 Не изменено.

Ответ: NivoSlider.

2 голосов
/ 19 июня 2011

Я получаю утечки памяти в FF 4.0.1 с одной открытой вкладкой.Chrome (12.0.742.100) тоже, хотя и не так плохо, как FF.

Похоже, что NivoSlider вызывает эту утечку.

1 голос
/ 28 декабря 2012

У меня такая же проблема с утечками памяти.Похоже, что nivo не так уж и хорош.

После некоторых попыток мне удалось значительно снизить нагрузку, по крайней мере, в соответствии с firebug.1006 *

поставить дисплей: нет для всех изображений слайдера в css - я не думаю, что это действительно много, но это не больно.Я надеялся, что это подавит начальную загрузку. в JS, используйте $ (document) .ready вместо $ (window) .load - теоретически это должно запустить слайдер, прежде чем все изображения будут загружены

Проблема все еще не решена полностью, я получаю странное поведение.У меня всего 4 картинки.Все они загружаются на старте.В какой-то момент (я не знаю причину, обычно первый раз, когда изображение показывается) 2 картинки снова загружаются (из кеша).После этого все работает нормально.Я оставил его открытым в течение часа, без новых загрузок.

Итак, в заключение, с упомянутыми изменениями я получаю 2 дополнительных нагрузки.По сравнению с тем, что у меня было раньше (новая загрузка при каждом изменении изображения), это не так уж и плохо.

Я до сих пор не могу найти причину или объяснение этого поведения.Может быть, Firefox освобождает часть памяти, чтобы изображения время от времени загружались снова?

1 голос
/ 31 мая 2012

Мы тестировали это на моей работе, и сначала мы увидели, как Firefox перезагружал изображения, как было сказано в оригинальном постере.Но потом мы кое-что поняли - если вы никогда не наводите курсор на изображения с помощью инструмента Firefox / Firebug, он никогда не перезагружает изображения!

Другими словами, похоже, что этого не происходит из-за слайдера.Похоже, это происходит только тогда, когда вы начинаете исследовать с помощью Firefox / Firebug.

Так что я не думаю, что это проблема.

...