Всегда ли Firebug правильно показывает список загрузок на вкладке «Сеть»? - PullRequest
2 голосов
/ 09 декабря 2008

Возможно ли, что Firebug неправильно добавляет загрузки на вкладку Net, когда вещи могут быть загружены из кэша?

У меня есть некоторый код в галерее Javascript, который предназначен для ленивой загрузки изображения при нажатии на миниатюру и последующего его отображения после загрузки. Он предназначен для определения того, был ли он загружен уже первым (через массив с логическими значениями), и если он был загружен ранее, просто отобразить из кэша.

Я думал, что какое-то время он работал нормально (из-за скорости, с которой они будут появляться при двойном нажатии), но недавно я заглянул во вкладку Net в Firebug и, похоже, каждый раз загружает большое изображение (и общее количество размер файла увеличивается с каждым кликом).

Я не уверен, что я сделал неправильно, так как небольшая часть отладки сообщила мне, что булевы значения корректно обновляются.

Так что мой вопрос, может ли Firebug быть неправильным (я сомневаюсь в этом), или есть ли способ заставить его отображать его из кеша (я думал, что использование точно такого же пути к изображению для image.src сделает это )

Это было мое первое занятие объектами в Javascript, поэтому я не уверен на 100% в своем коде, поэтому, пожалуйста, будьте добры!

Ответы [ 3 ]

6 голосов
/ 09 декабря 2008

Изображение, отображаемое на вкладке net в firebug, не означает, что оно загружено с сервера. Проверьте код ответа HTTP, который firebug сообщает об изображении - для меня после одного посещения оно продолжало возвращать «304 - Не изменено», что означает, что оно загружается из кэша.

Вы можете избежать дополнительного HTTP-запроса, который проверяет, свеж ли кэш, отправив заголовки далекого будущего для компонентов, которые вы хотите кэшировать жестко. Имейте в виду, однако, что для того, чтобы заставить клиента повторно загрузить компонент, который был кэширован таким образом, вам нужно изменить имя файла.

4 голосов
/ 09 декабря 2008

Firebug может быть не на 100% правильным, или, по крайней мере, это может быть не совсем то, что происходит, если Firebug был выключен.

Я бы попробовал использовать Fiddler или, возможно, WireShark, чтобы проверить сетевую активность, посмотреть, не выглядит ли она по-другому. Fiddler - прокси-сервер отладки для IE, WireShark - анализатор пакетов.

Я не могу точно сказать, как работает сетевой монитор Firebug, потому что я никогда не нырял под капот, но я испытал некоторые вещи, которые, как мне показалось, были ошибками моего действия, которые исчезли, когда Firebug был выключен.

Похоже, что Firebug в процессе измерения вещей изменяет вещи в стиле «глядя на вашего квантового кота». Firebug по-прежнему раскачивается, но у него есть некоторые ограничения.

1 голос
/ 15 сентября 2009

Я проверил ваш сайт и с помощью CacheViewer подтвердил, что он действительно кэширует его и извлекает его с диска, срок действия которого истекает через месяц с сегодняшнего дня. Если вы хотите, вы также можете использовать plsicing путем объединения всех изображений в одно большое изображение и показывать только интересующую область, хотя я обычно использую сплайсинг для небольших изображений, таких как значки подкачки и т. Д. В любом случае, ваш сайт выглядит великолепно и выглядит как Вы задерживаете загрузку больших изображений.

...