2012-07-25 175 views
1

我似乎無法找到這個相當有趣的問題的答案。在谷歌瀏覽器中,具有設置寬度和/或高度的圖像(使用屬性,內聯樣式或CSS樣式)在初始加載時拒絕顯示在頁面上。他們似乎只在出現一些頁面活動後出現。但是,如果您讓圖片加載到自然大小,則它們在網頁加載時顯示效果會非常好。這些圖像可以被看作是在其他瀏覽器中工作,並且在檢查鉻中的元素時,圖像顯示在彈出窗口中。奇怪的谷歌鉻圖像錯誤

任何知道如何解決這個問題?

+0

我從來沒有在Chrome中看到過這個。你正在運行任何擴展?這可能會導致這種行爲。 – 2012-07-25 02:10:17

+0

這聽起來更像是一個帶寬問題。如果您提供圖像寬度/高度屬性,但其高分辨率或其他大文件大小,則高度和寬度不會影響加載時間。 Chrome瀏覽器,IE瀏覽器,Opera,FireFox都有不同的方法來加載圖片,例如我認爲在這種情況下,Chrome會預加載圖片,IE或Firefox會逐漸加載圖片。 – chris 2012-07-25 02:11:14

+0

沒有任何擴展或任何東西,並且chrome是最新的。沒有帶寬問題,因爲我有無限的帶寬,一切都在本地運行。以前從未遇到過這種情況,但直到24小時前,在新軟件上運行測試時,才發現此問題已經出現。 – CoreyRS 2012-07-25 02:17:59

回答

2

定義你的意思是:'在一些頁面活動之後'。

你也提到過,當你設置寬度和/或高度時,會發生這種情況,這導致我相信你的一些測試你的ommiting寬度或高度,因此它可以由瀏覽器計算。如果是這種情況,那麼圖像永遠看起來不正確,並且在初始頁面加載時元素將沒有大小。直到圖像被下載,瀏覽器檢查圖像並確定缺少的尺寸以創建邊界框。

編輯:

看你的在線網站後,我之前的評論解釋了它的要點,但我可以看到你設置「自動」的寬度需要瀏覽器首先加載圖像和檢測大小。這將導致瀏覽器渲染延遲「重排」。設置寬度和高度,否則需要通過客戶端瀏覽器進行計算。如果你沒有這麼好的電腦,它看起來呆滯。在我的系統上,如果我硬刷新沒有緩存有時我得到所有的拇指和其他時間,我沒有和延遲是非常明顯的。

因此總之,您的圖片總是有寬度和高度。

編輯:

您也有一些404錯誤,可能會導致一些延遲。 http://www.webpagetest.org/result/120725_0C_3N6/1/details/

編輯:

我認爲你唯一的選擇是如此的它加載在儘可能快的將被呈現給由它獲得了更高的下載資源的第一順序加載背景圖片。 一個技巧可能是將bg圖像加載到隱藏的div中以便馬上預加載,以便瀏覽器首先下載它。即使你這樣做,你應該期望看到一些黑色背景閃光,而你等待高分辨率鏡頭下載並加載。無論如何不能在背景圖像上設置寬度和高度。進一步,您可以加快響應時間,也許可以通過在加載頁面後加載AJAX調用來加載所有縮略圖,以便它們甚至不會與大照片拍攝競爭,並開始下載,直到dom完全加載。你甚至可以在這裏放置一個很好的效果,可能會縮小縮略圖加載或某種效果。

+0

啊,大部分問題都解決了。對於佔用整個頁面的大圖像顯示,由於屏幕分辨率不同,我無法設置寬度和高度,所以我如何解決這個問題? – CoreyRS 2012-07-25 02:59:42

+0

不應該對大圖像太壞,渲染應該快速發生。但是,如果你有很多沒有寬度或高度的話,那麼你將計算交給客戶端機器(和瀏覽器)。由於延遲,頁面上還有一些404錯誤會導致一些緩慢。看到我的編輯,鏈接到網頁測試報告 – 2012-07-25 03:02:06

+0

它只是第一個有問題的背景圖片,因爲它是頁面加載的負載。其他人呈現良好。 – CoreyRS 2012-07-25 03:06:32