我正在使用以下代码来修复 IE6 的 PNG 问题(是的,我们确实有一些访问者使用 IE6 :() ... 代码似乎用空白图像替换了 .png 图像,但似乎没有运行过滤器正确...任何想法为什么它可能会失败?谢谢
var blank = new Image();
blank.src = 'img/blank.gif';
$(document).ready(function() {
var badBrowser = (/MSIE ((5\.5)|6)/.test(navigator.userAgent) && navigator.platform == "Win32");
if (badBrowser) {
//alert('bad browser');
// get all pngs on page
$('img[src$=".png"]').each(function() {
if (!this.complete) {
this.onload = function() { fixPng(this) };
} else {
fixPng(this);
}
});
}
});
function fixPng(png) {
// get src
var src = png.src;
// set width and height
if (!png.style.width) { png.style.width = $(png).width(); }
if (!png.style.height) { png.style.height = $(png).height(); }
// replace by blank image
png.onload = function() { };
png.src = blank.src;
// set filter (display original image)
png.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
}