2009-04-22 37 views
3

我有一个网站,其中包含一个CSS样式的按钮,以便在悬停时显示独特的图像。我等待页面完全加载,然后将鼠标移到该按钮上。Firefox停留在“等待”或“传输数据”

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

这是什么原因造成的?我在问,因为我在随后的Ajax调用完成脚本中出现了一个虚假的问题。

是Firefox常见问题卡住显示此状态?原因是什么?

+1

对不起,我知道这是有点古老,但你有没有搞清楚是什么问题? – ak3nat0n 2010-03-04 07:29:33

回答

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

不要忘记溢出:隐藏,并确保指定宽度。所描述的技术称为CSS Sprites。做一个谷歌搜索,你会发现它的信息吨。 – 2009-04-22 03:03:39

1

我对这个特定的问题并不熟悉,但是我对Geoo运行的联网库Necko做了一些测试。

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

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

如果你找不到任何明显的东西,你应该移动到做一个网络跟踪或使用HTTP logging,这取决于哪一个更容易。

如果您在这一点上无法隔离问题,您可能发现了一个新的错误!非常不可能,但这确实发生在我模块上的时候......你应该在bugzilla.mozilla.org上提交一个bug,遵循最新的和最大的bug提交规则。

2

根据操作系统和网络的类型上,一个网络连接可以拖延等原因:

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

Firefox中的默认网络设置应该可以防止99%的问题,因为Firefox会阻止自己打开太多的服务器连接或打开连接太快。另外,如果所有事情都以健康的方式运行,那么在打开连接失败的情况下,Firefox会将所要做的任何请求放入队列中,并在可用时将其放在另一个连接上,或者类似的东西。

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

但是,基于所描述的症状 - 它似乎是完全可重现的,我可能会看服务器。通过所有的方式与Firebug和所有非网络请求,但也检查服务器日志,看看是否有什么问题。如果Web服务器收到请求但由于某种原因无法提供服务,则应该记录该请求。

0

您在加载git.gnome.org网站时遇到困难,并且一直停留在加载过程中。控制台说: 样式表https://git.gnome.org/browse/cgit_text.css未加载,因为它的MIME类型“text/html”不是“text/css”。

+0

Macarlo dot com网站已关闭。该警告是帐户已暂停! – 2013-07-06 17:08:50