Подтвердить что ты не робот

Страницы загружаются дважды в 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

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

Дополнительная информация здесь: http://icanhascode.com/2008/06/the-mystery-of-the-multiple-requests/

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

Ответ 3

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

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

выше кода. Перед загрузкой некоторых CSS-кодов.

Ответ 4

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

Ответ 5

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

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

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

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

Ответ 6

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

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

Ответ 7

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

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

НЕПРАВИЛЬНО:

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

RIGHT:

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

РАБОТАЕТ теперь и не более двух раз нажмите.

Ответ 8

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

<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 перестает перезагружать страницу.

Ответ 9

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