Почему Firefox запускает два запроса для встроенных swfs-файлов?

StackOverflow https://stackoverflow.com/questions/1107764

Вопрос

Когда swf-файл встроен в страницу и является не кэшированные локально в браузере, браузер запускает два запроса к swf-файлу. Вот простой пример.

Первый запрос возвращает ожидаемое 200 OK, и второй запрос запускает 304 Not Modified после завершения первого запроса, указывающего, что файл теперь кэшируется локально.

Почему это 2найти запрос отклонен, и как я могу это предотвратить?

Это было полезно?

Решение

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

Другие советы

Я думаю, что я понял это.Я более внимательно прочитал отчеты об ошибках в Firefox, и, похоже, это вызвано AdBlock Plus, который я установил.Во-первых, я убедился, что ошибка все еще возникает на вашей обновленной странице, и воспроизвел ее во второй раз.Затем я отключил AdBlock Plus и попробовал тот же тест.Двойной запрос больше не выполнялся.Так что, если у вас установлено это расширение или, возможно, аналогичное расширение, это может быть причиной.

Это является ли сообщение об ошибке о двойном создании экземпляра плагина, и это является сообщением об ошибке из-за того, что AdBlock Plus вызывает это.

Я только что убедился, что это происходит и со мной.

Сначала я подумал, что это из-за ошибки в Firefox.Смотрите часто задаваемый вопрос № 16 на эта страница.Однако ошибки, на которые они ссылаются, похоже, исправлены.

Итак, затем я просмотрел некоторые из моих собственных веб-сайтов, которые встраивают SWFS-файлы с использованием SWFObject 2.2.Двойное получение не произошло.Я думаю, разница в том, что в моем коде я вызываю swfobject.embedSWF в <head> страницы вместо основного текста.Размещение скрипта в head - это то, что рекомендует документация SWFObject 2.2 (это небольшое отклонение от старых версий SWFObject).

Итак, вот что я бы попробовал на твоем месте:

  1. Удалите google.load("swfobject", "2.2") и включите скрипт SWFObject напрямую.
  2. Переместите свой swfobject.embedSWF-код в начало вашей страницы.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top