0

一个用 PHP 编写并位于其他地方的网站,大部分时间都可以在 5 种主要浏览器中正常加载。

有时在 Firefox 中,网站不会加载,而是联系服务器图标点逆时针旋转,感觉就像永远一样。似乎没有出现错误消息。我删除了所有 cookie 和缓存并重新启动 firefox 并重试,但仍然存在相同的行为。

同时它可以在同一台计算机上的其他浏览器中运行,也可以在另一台计算机上的 Firefox 中运行。

使用 ping 似乎没有丢包。

我该如何调试这个问题?

该网站是stock.mrfootage.com

编辑:

加载时,站点 cookie 得到更新,站点标题显示在选项卡栏中。

如果我同时禁用 javascript 并删除所有 cookie 或与该站点相关的所有 cookie,然后重新加载,它可以工作。然后我可以重新启用 javascript 并再次正常使用该站点。

另一方面,如果我只禁用 javascript 或删除 cookie,则 firefox 选项卡似乎仍在加载时挂起。

它也可能与 Mac OS X 上的 Firefox 有关,因为它不起作用的三台计算机都是 Mac,而我没有遇到此问题的两台计算机正在运行 Windows。

Livehttpheaders 插件根本没有针对这个问题显示任何标题。

4

2 回答 2

1

我敢打赌,问题出在 HTML 验证上——这意味着您的某些 HTML 代码无效(例如未封闭的标签、不正确位置的标签等)。

要解决这个问题,您可以使用在线 HTML 验证器,例如http://validator.w3.org/,它会显示您的问题。当您修复它们时,网站应该可以正常加载。

但是,验证器可能会显示数百个问题,而您不想修复所有问题。在这种情况下,您可以通过删除 HTML 的一半并查看它是否加载(不会卡在加载动画上)来找到 HTML 中的问题点。继续删除部分并将它们带回来,直到找到导致此问题的位置 - 然后找出问题所在。

对于那些说 Firefox 仅在所有 HTML 下载完成后才进行验证的怀疑论者,这是不正确的。众所周知,Firefox HTML 解析器中的错误会导致此行为,从这个过去的问题和这个错误报告中可以看出。

于 2013-02-18T16:21:29.593 回答
0

您可能有一些 javascript 进入无限循环并导致解释器冻结。

您是否需要 3rd 方资产,例如网络字体、Javascript、样式表?如果你是,很可能其中一个资源没有加载,并且因为它是同步处理的(除非你有一个异步加载器)页面不会显示,直到资源响应超时或 HTTP 状态代码等。

尝试在 Chrome 或 Safari 中加载网页,检查器打开到网络选项卡。您会在那里看到任何连接错误。

于 2013-02-18T16:26:44.130 回答