2011-10-27 204 views
4

當前正在運行chrome 14,並且它無法在我的登錄頁面上呈現旋轉的gif圖形。chrome不呈現gif背景圖像

這裏是頁面的樣子鉻:

enter image description here

下面是它看起來像所有其他的browers:

enter image description here

重現:

http://trunk.test.openmile.com/login/#null

輸入一個有效的電子郵件和密碼,然後點擊'登錄',然後當黑色進度指示器出現時,點擊停止,以便瀏覽器不會有機會給你一個登錄錯誤。

請注意,背景不會顯示在鑲邊中。有趣的是,如果您檢查元素,並將1px添加到背景圖像位置,圖像將變爲可見。

聞起來像鉻缺陷給我,但有沒有解決方法?

編輯: 另一個真是奇怪的是:如果我把一個alert在顯示該加工DIV函數的結束,警報後,背景圖像變得可見。

回答

5

我可以重現你的問題,但如果我手動觸發彈出式控制檯,我看到了微調就好:

> OM.processing($('div.portlet.login form')); 

因此,這裏是我的猜測 - 你的微調並未預裝,和你您在等待AJAX​​請求時打開窗口。無論出於何種原因,其他瀏覽器都會在AJAX請求未決時加載圖片,但Chrome不會。爲了測試這個,我在控制檯上試了一下:

> var img = $('<img src="http://trunk.test.openmile.com/static/9753/images/processing_black.gif">'); 

然後試圖正常登錄 - 我看到了微調。

所以我想如果你預先加載你的微調圖像,也許用上面的代碼,它應該正常工作。

+0

如果你想保留它依賴於CSS,你可能想使用這個'var bg = $(此)的CSS(「背景圖像」); bg = bg.replace('url(','')。replace(')',''); var forceChromeToLoadImage = $('');'see http://stackoverflow.com/questions/8809876/can-i-get-divs-background-image-url –

0

我在使用nrabinowitz的答案時遇到了問題。

所以我最終在頁面的某個地方包含了相關的圖像,並且有0個維度。

HTML:

<input class="button" id="myButton" type="submit" name="searchButton" /> 
... 

<img class="loaderHackForChrome" src="" width="0" heigh="0"> 

的Javascript:

/* 
    Hack for Chrome issue with GIF bg images 
    [1] gets the bg url from the CSS 
    [2] Extract the path: by removing opening string "url(" and closing character ")" that surround it 
    [3] Sets the relevant image tag with our GIF image's path 
*/ 
$('#myButton').click(function() { 
    var bg = $(this).css('background-image'); // [1] 
    bg = bg.replace('url(','').replace(')',''); // [2] 
    $('.loaderHackForChrome').att('src', bg); // [3] 
}); 

來源:http://chromespot.com/forum/google-chrome-troubleshooting/4336-background-image-doesnt-load.html

編輯:這個問題可能已被現在固定在