關於DXImageTransform.Microsoft.AlphaImageLoader

  打開ExtJS 4.0的desktop示例,在FireFox, IE 8等瀏覽器中均可以顯示桌面圖標,而在IE 6.0中無法顯示PNG圖標,甚至出現IE6非法操作的錯誤。CSS代碼片段如下:

.notepad-shortcut {
    background-image: url(./images/notepadLarge.png);
    width: 46px;
    height: 46px;
}

.x-ie6 .notepad-shortcut {
    background-image: none;
    filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='./images/notepadLarge.png', sizingMethod='scale');
}

  參考了一些關於DXImageTransform.Microsoft.AlphaImageLoader的文章,大部分是說濾鏡被禁用之類的錯誤,結果修改了還是無法顯示。


  最後抱着試試看的態度,把src中的相對路徑改爲絕對路徑,如:

.x-ie6 .notepad-shortcut {
    background-image: none;
    filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/extcss/images/notepadLarge.png', sizingMethod='scale');
}
  竟然在IE中能夠正常顯示,並且IE也不會出錯(估計之後的“非法操作”也正是由於無法正確找到資源導致的)。


  雖然解決了兼容性問題,但這樣寫絕對路徑也存在移植性差的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章