在Firefox上加载两次页面?

时间:2010-01-06 22:27:29

标签: firefox httprequest

我想我之前已经回答了这个问题,感谢StackOverFlow,但我匆匆接受了答案,结果证明这不是我问题的真正原因。

我已检查过我的Apache Access日志:

这是我在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 个答案:

答案 0 :(得分:13)

你在Firefox中安装了哪些插件,他们可能会默默地发出请求,尤其是FireBug。尝试关闭萤火虫&看看它是否仍然存在。

如下面的评论所述,最新版本的FireBug不应该这样做,所以如果不是这样,请尝试禁用所有插件(或在安全模式下运行FireFox)并查看是否仍然发生

答案 1 :(得分:11)

在第二个请求中查看Accept标头。它看起来是对图像的请求吗?如果是这样,您可能在“img”标记上有一个空的“src”属性,或者在导致第二个请求的CSS属性中有一个空的“url”定义。

此处有更多信息:http://icanhascode.com/2008/06/the-mystery-of-the-multiple-requests/

一般来说,这个问题很难追查。

答案 2 :(得分:6)

另一天我遇到了同样的问题。 提出了解决方案

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

代码更高。之前加载了一些css代码。

答案 3 :(得分:3)

这对我来说也是一个字符串声明问题 - 从所有元标记中取出它并在其他地方声明它!

答案 4 :(得分:2)

如Michael Morton所述,缺少SRC的IMG标签可能是个问题。也可以是A标签上的空HREF属性。我使用jQuery快速识别它们:

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

简而言之,在Firebug中运行:

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

答案 5 :(得分:1)

此行是一些Dreamweaver驱动的HTML并导致浏览器加载两次(删除了doc类型并禁用了firebug):

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

答案 6 :(得分:0)

这些都不适合我。许多小时的担心......这就是我的问题:

我有一个带有按钮的HTML链接。我发现这是问题,因为当我在IE上测试它时,按钮不起作用(按钮仍在Firefox中工作)。

WRONG:

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

RIGHT:

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

现在工作,不再双击。

答案 7 :(得分: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停止重新加载页面。

答案 8 :(得分:0)

使用mozilla firefox 46.0.1并且我遇到了同样的问题。但我发现只有当我的php脚本出现警告错误时才会发生。 在我的php脚本中设置error_reporting(0);停止了脚本的双重执行。当然,在尝试了以上所有建议之后。