Страницы загружаются дважды в Firefox?

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

Я проверил свой журнал доступа Apache:

Это я просматриваю свое веб-приложение в браузере Google Chrome.

127.0.0.1 - - [06/Jan/2010:22:17:35 +0000] "GET /webs/end/new.php HTTP/1.1" 200 2146
127.0.0.1 - - [06/Jan/2010:22:17:36 +0000] "GET /webs/end/settings.php HTTP/1.1" 200 4548
127.0.0.1 - - [06/Jan/2010:22:17:38 +0000] "GET /webs/end/index.php HTTP/1.1" 200 2042

Это я просматриваю свое веб-приложение на IE7.

127.0.0.1 - - [06/Jan/2010:22:21:49 +0000] "GET /webs/end/settings.php HTTP/1.1" 200 4548
127.0.0.1 - - [06/Jan/2010:22:21:50 +0000] "GET /webs/end/index.php HTTP/1.1" 200 2042

Это я просматриваю свое веб-приложение в Firefox.

127.0.0.1 - - [06/Jan/2010:22:18:08 +0000] "GET /webs/end/settings.php HTTP/1.1" 200 4548
127.0.0.1 - - [06/Jan/2010:22:18:09 +0000] "GET /webs/end/settings.php HTTP/1.1" 200 4548
127.0.0.1 - - [06/Jan/2010:22:18:10 +0000] "GET /webs/end/index.php HTTP/1.1" 200 2042
127.0.0.1 - - [06/Jan/2010:22:18:10 +0000] "GET /webs/end/index.php HTTP/1.1" 200 2042
127.0.0.1 - - [06/Jan/2010:22:18:11 +0000] "GET /webs/end/new.php HTTP/1.1" 200 2146
127.0.0.1 - - [06/Jan/2010:22:18:12 +0000] "GET /webs/end/new.php HTTP/1.1" 200 2146

Это просто я щелкаю вокруг. Но обратите внимание что для каждого запроса страницы firefox, похоже, загружает страницу дважды и ее влияние на мои PHP-скрипты, поскольку они выполняются дважды и делают две вставки в мою БД!

почему так? Я использую Firefox 3.5.6. Я предполагаю, что это проблема Firefox, а не PHP/Apache?

9 ответов


какие плагины вы установили в Firefox, они могут делать запросы молча, особенно FireBug. Попробуйте отключить firebug и посмотреть, произойдет ли это.

Как упоминалось в комментарии ниже, последняя версия FireBug не должна этого делать, поэтому, если это не так, попробуйте отключить все свои плагины (или запустить FireFox в безопасном режиме) и посмотреть, если это все еще происходит


Проверьте заголовки Accept на 2-м запросе. Это похоже на запрос изображения? Если это так, у вас может быть пустой атрибут "src" в теге "img" или пустое определение "url" в свойстве CSS, которое вызывает 2-й запрос.

подробнее здесь: http://icanhascode.com/2008/06/the-mystery-of-the-multiple-requests/

В общем, этот вопрос является болью для отслеживания.


У меня была та же проблема в другой день. Решение было поставлено

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

выше по коду. Перед ним были загружены некоторые css-коды.


Это была проблема объявления кодировки для меня тоже-возьмите ее из всех мета-тегов и объявите ее в другом месте!


как упоминал Майкл Мортон, теги IMG с отсутствующим SRC могут быть проблемой. Также могут быть пустые атрибуты HREF в тегах. Я использовал jQuery, чтобы быстро идентифицировать их:

http://www.planbox.com/blog/development/coding/browser-send-same-request-twice-or-multiple-times.html

короче говоря, запустите это в Firebug:

$('img[src=""],a[href=""]')

эта строка является некоторым Dreamweaver driven HTML и вызвала загрузку браузера дважды (с удаленным типом doc и отключенным firebug):

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

ни один из них не работал для меня. Много часов беспокойства...вот в чем была моя проблема:

у меня была HTML-ссылка с кнопкой внутри нее. Я обнаружил, что это проблема, потому что, когда я тестировал его на IE, кнопка не работала (кнопки все еще работали в Firefox).

неправильно:

<a href=''><button class='btn'>Test</button></a>

правильно:

<a class='btn' href=''>Test</a>

работает сейчас и больше не дважды нажмите.


в моем случае у меня были повторяющиеся теги:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<!-- more code -->

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

после удаления его из моего шаблона Blogger Firefox прекратил повторную загрузку страницы.


Я использую mozilla firefox 46.0.1, и у меня такая же проблема. Но я заметил, что это произошло только тогда, когда мой PHP скрипт с ошибками предупреждение. Настройка error_reporting(0); в моем PHP скрипте остановлено двойное выполнение скрипта. После того, как попробовали все вышеперечисленные предложения, конечно.