我在我的網站上有一個畫廊。該圖庫包含15個圖像,每個圖像大約500KB(總大小爲7.5MB)。加載GIF(預加載器)卡住在Chrome上
由於圖庫需要一段時間才能加載(我的電腦上有25秒,難以取決於連接),我希望訪問者知道圖庫正在加載,因此Ajax loading GIF。
我希望訪問者在進入圖庫頁面後立即看到加載的GIF,直到圖庫圖像被下載並準備好被查看。
爲了實現我的目標,這是我做了什麼:
這是畫廊HTML頁面的正文的開頭:
<body>
<img src="images/ajax-loader.gif" alt="" class="hiddenPic" />
<!-- loading Ajax loading GIF before all the other images -->
並且這是畫廊CSS部分:
#gallery {
background: url(images/ajax-loader.gif);
background-repeat:no-repeat;
background-attachment: fixed;
background-position: center;
因此,基本上,只要訪問者進入圖庫頁面就應該下載加載GIF,因爲它是<body>
內將要下載的第一個對象。但是,由於hiddenPic
課程不可見。
這種方法應該可以幫助加載GIF儘快準備就緒,並且可以儘快顯示在圖庫背景中,直到所有圖庫圖像下載並且圖庫準備就緒。
然而,加載GIF不正常的谷歌瀏覽器工作;它在Firefox瀏覽器(完美旋轉)上運行得非常好 - 但在Chrome瀏覽器出現之前卡住(無法正常旋轉),直到畫廊準備就緒。
更新:我知道我可以實現更好的畫廊(就像在評論中提出的那些)進入圖庫頁面時將需要更少的資源從用戶 - 但我不理解這種情況當GIF加載程序在Firefox & IE上完美工作時,成爲問題的原因。
爲什麼Ajax加載GIF在Chrome上不能正常工作?
加載您的網站,即使在Chrome(v21.0.1180.77米)中,它也可以按預期工作。當然,當我加載頁面時,我會看到GIF微調,後來被畫廊取代。我會說這很慢,即。我沒有看到旋轉的「旋轉」,我只是在3或4個不同的位置看到它,但這大概是加載畫廊的其餘部分,我的電腦慢一點。但是,我會在大約5-6秒內加載畫廊,而不是您建議的25秒,以便可能會影響結果。 – Chris 2012-08-16 08:00:01
此外,當我想你絕對應該有一個GIF微調,我想知道你是否應該加載整個畫廊直線距離,有兩個原因:1)它減緩了整個頁面; 2)它浪費帶寬,因爲人們可能無法查看所有圖片。我會探索一個過程,1)加載每個圖像,當它被選中(所以gif微調爲每個圖像)或2)加載說第一個3.然後,當他們點擊'下一個圖像'(顯示圖像2)加載圖像4。他們不會看到任何區別,但使其更快,更高效。 – Chris 2012-08-16 08:03:04
因此,微調卡住的原因是因爲加載圖庫圖像佔用了大部分資源?我想讓加載程序旋轉--GIF並不那麼沉重,所以我不明白爲什麼它卡住了,我無法使它正常旋轉,即使(當然,只有)圖像被下載到計算機時。關於你的建議,這聽起來像是一個縮短等待時間並使其工作得很快的好方法。我不確定哪種方式更好,但是如果我將使用no'1,我必須將縮略圖添加到我的畫廊。 – amiregelz 2012-08-16 08:10:18