Firefox坚持“等待”或“从中传输数据”

时间:2009-04-22 02:49:44

标签: html css hover firefox-3

我有一个网站,其中包含一个CSS样式的按钮,用于在悬停时显示不同的图像。我等待页面完全加载,然后将鼠标移到该按钮上。

Firefox会显示新图像,但状态栏会卡住,显示“从www.server.com传输数据”或“等待www.server.com”,这一点永远不会消失。我可以通过Firebug的网络视图看到图像在悬停时正确下载,我看不到任何其他错误。

这会导致什么?我在问,因为我在这个页面上有一个虚假的问题,后面是Ajax调用完成脚本。

Firefox被卡住会显示此状态是一个常见问题吗?原因是什么?

4 个答案:

答案 0 :(得分:3)

不知道它为什么会卡住,但有更好的翻转方法。将常规图像和悬停图像放在同一图像中。然后使用background-position进行翻转:

a.btn {
  background-image: url("/img/btn.png");
  background-position: 0px 0px;
}
a.btn:active {
  background-position: 0px 50px;
}
a.btn:hover {
  background-position: 0px 25px;
}

以上CSS适用于高度为25px的3状态翻转。顶部图像只是常规图像;下面是悬停图像;在其下方是active图像,单击链接时会显示该图像。

这消除了翻转状态变化之间的任何加载延迟。如果你想获得幻想,你甚至可以使用JavaScript动画转换(通过包括过渡帧)。

答案 1 :(得分:2)

根据操作系统和网络类型,网络连接可能会因以下原因而停止:

  • 客户端上的操作系统只允许一次打开一定数量的连接。
  • 服务器仅允许来自单个客户端(或IP地址)的特定数量的连接。

Firefox中的默认网络设置可以防止99%的问题,因为Firefox会阻止自己打开过多的服务器连接或打开连接太快。此外,如果所有内容都以健康的方式运行,那么在打开连接失败的情况下,Firefox将对它将要发出的任何请求进行排队,并在其可用时将其放在另一个连接上,或类似的内容。

有时,代理可能会干扰您的ISP在您不知情的情况下使用的内容,甚至是透明代理。有时网络上的数据包丢失太多,即使TCP连接也变得不可靠。

然而,根据所描述的症状 - 它似乎完全可重复,我可能会寻找服务器。一定是使用Firebug和所有的非网络请求,但也检查服务器日志以查看是否有任何错误。如果Web服务器收到请求但由于某种原因无法提供请求,则应记录该请求。

答案 2 :(得分:1)

我不熟悉这个具体问题,但我确实对Necko运行了一些测试,这是Gecko运行的网络库。

缺少一些欺骗状态字段的代码,状态栏指示www.server.com的某种网络活动。

您应仔细查看代码,尤其是可能加载的任何js库,以查看是否有一些意外的网络功能已启动。

如果找不到任何明显的内容,您应该转到网络跟踪或使用HTTP logging,具体取决于哪种方式更容易。

如果此时无法隔离问题,您可能发现了一个新错误!这不太可能,但这确实发生在我对模块的限制期间...你应该在bugzilla.mozilla.org中提交一个bug,遵循最新和最好的bug提交规则。

答案 3 :(得分:0)

您在加载git.gnome.org网站时遇到困难,并且无法加载。控制台说: 未加载样式表https://git.gnome.org/browse/cgit_text.css,因为其MIME类型“text / html”不是“text / css”。