2010-01-06 3 views
17

Я думал, что ответил на этот вопрос, прежде чем поблагодарить StackOverFlow, но я поспешно ответил и не стал настоящей причиной моей проблемы.Страницы загружаются дважды в Firefox?

Я проверил мой Apache Access Log:

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

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?

+0

Я очень надеюсь, что вставки, о которых вы говорите, строго регистрируются. Если выдача запросов GET вызывает некоторые другие изменения данных, у вас есть серьезные проблемы с дизайном. – NotMe

+1

'Если выдача GET-запросов вызывает некоторые другие изменения данных, это совершенно ложная заявка. Нет никакой разницы, принимаете ли вы серию входных параметров из набора полей формы в столбце или сборку строки запроса в get. –

+1

Я бы не сказал, что нет никакой разницы. Для одного запроса на отправку требуется повторная публикация (о том, что большинство браузеров предложит пользователю), тогда как запрос GET можно запросить легко (непреднамеренно) и скопировать URL-адрес и вставить его, чтобы повторно запросить его. Кроме того, кто-то может легко разместить ссылку в img на своем сайте с помощью src, указывающего на ваш сайт, и любой посетивший их сайт разместит на вашем сайте. Если ваша безопасность основана на файлах cookie, их cookie все равно будет отправлен. Таким образом, существует множество причин не использовать GET для публикации данных, которые необходимо сохранить, или запросы, которые будут изменять данные. –

ответ

13

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

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

+0

С предыдущей версией Firebug у меня была эта проблема. –

+0

Да, последняя версия не делает этого, так что это может быть не проблема. –

+0

У меня есть firebug и его версия: 1.4.5, которая является последней версией. – Abs

11

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

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

В общем, этот вопрос является боль, чтобы выследить.

+0

Для меня это была таблица стилей. Благодаря! – Bogdan

1

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

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

Эта строка: Gordon

2

Как отметил Майкл Мортон, 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=""]')
+0

3

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

+1

Это была моя проблема , изменение: to fixed Это. – owise1

+0

@ owise1 Ваше решение сработало для меня. Большое спасибо. – LoneWOLFs

6

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

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

выше по коду. Перед ним загружались некоторые кодовые коды CSS.

+0

Мне пришлось переместить его перед оператором '>'. – Keith

+0

Еще не работает. У вас есть альтернативное решение? –

0

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

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

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

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

ПРАВО:

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

работает сейчас и не более двойной кран.

0

В моем случае я имел повторяющиеся теги, как это:

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

0

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

 Смежные вопросы

  • Нет связанных вопросов^_^