日期:2014-05-17  浏览次数:20480 次

到底怎么解决ie6的png图片失效问题?网上的方法都没什么用。。。
到底怎么解决ie6的png图片失效问题?网上的方法都没什么用。。。

------解决方案--------------------
处理png有两种,一种是针对背景,一种是针对图片,用js+css的滤镜处理,缺点,图片不能居中
function enableAlphaImages() {
    var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
    var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);
    if (itsAllGood) {
        for (var i = 0; i < document.all.length; i++) {
            var obj = document.all[i];
            var bg = obj.currentStyle.backgroundImage;
            var img = document.images[i];
            if (bg && (bg.match(/\.png/i) != null 
------解决方案--------------------
 bg.match(/\.axd/i) != null) && (bg.match(/\icon/i) != null 
------解决方案--------------------
 bg.match(/\logo/i) != null)) {

                var img = bg.substring(5, bg.length - 2);
                //var offset = obj.style["background-position"];
                obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + img + "', sizingMethod='crop')";
                obj.style.backgroundImage = "url('/Scripts/spacer.gif')"; //替换透明PNG的图片
                //obj.style["background-position"] = "5px 5px"; // reapply
//obj.style.marginTop="5px";


            } else if (img && img.src.match(/\.png$/i) != null) {
                var src = img.src;
/*
jQuery(img).wrap("<a style=\"width:16px;height:16px;background: url('/Scripts/spacer.gif');filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ src +"',sizingMethod='crop');display: block;\"></a>");
jQuery(img).remove();
*/
                img.style.width = img.width + "px";
                img.style.height = img.height + "px";
             &n