2009-04-22 82 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