2011-11-25 104 views
1

以下css存在於server1中,我希望它從server2加載圖像。只有在IE瀏覽器(都是7 & 8)AlphaImageLoader不會從server2加載圖像。取而代之的是我看到的請求如下,並且導致404AlphaImageLoader不遵守協議相對路徑

/path/to/webroot/in/server1/src='/server2.com/images/bg/main.jpg」

正在使用的CSS

#wrapper { 
    margin-top: 5px; 
    clear: both; 
    background: url('//server2.com/images/bg/main.jpg') no-repeat scroll 0 0 #f0f3f5; 
    background-size: cover; 
    background-size: cover; 
    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='//server2.com/images/bg/main.jpg', sizingMethod='scale'); 
    -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='//server2.com/images/bg/main.jpg', sizingMethod='scale')"; 
    zoom: 1; 
} 

我正在使用絕對路徑,但瀏覽器假定相對路徑(相對於文檔)。爲什麼? 我試過在圖像路徑中使用http,仍然發現相同的問題。如何使AlphaImageLoader從絕對路徑加載。

+0

在哪個版本的IE中會發生這種情況? –

+0

它發生在IE 7和IE 8 – rampr

回答

-1

貌似問題既包括過濾器和-MS-過濾器。 我已經開始爲IE7使用過濾器標籤,爲IE8開始使用-ms過濾器。 修復了問題

+0

我不認爲這有效。請提供一個代碼示例。 – zachleat

1

您不打包引號中的第一個filter值。您顯示的結果看起來更像是一個解析問題,而IE不能處理filter語句中的協議相關URL。

+0

我試過添加和刪除引號。你能單獨寫過濾器嗎?我會清楚地理解你的想法。 – rampr

+0

@rampr我檢查了MSDN,他們正在使用無引號的例子,所以不應該這樣。也許從'filter'語句中刪除雙引號?這是否僅適用於協議相對URL,如果使用真正的相對URL,會發生什麼? –