关于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也不会出错(估计之后的“非法操作”也正是由于无法正确找到资源导致的)。


  虽然解决了兼容性问题,但这样写绝对路径也存在移植性差的问题。

你可能感兴趣的:(关于DXImageTransform.Microsoft.AlphaImageLoader)