IE显示PNG

 JS代码:

var IE = (document.all) ? true : false

 
function correctPNG(img) // correctly handle PNG transparency in Win IE 5.5 or higher.       
 {       
     
if (IE)
     
{               
         
var imgName = img.src.toUpperCase()       
         
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")       
         
{       
             
var imgID = (img.id) ? "id='" + img.id + "" : ""      
             
var imgClass = (img.className) ? "class='" + img.className + "" : ""      
             
var imgTitle = (img.title) ? "title='" + img.title + "" : "title='" + img.alt + ""      
             
var imgStyle = "display:inline-block;" + img.style.cssText       
             
var imgAttribs = img.attributes;       
             
for (var j=0; j<imgAttribs.length; j++)       
             
{       
                 
var imgAttrib = imgAttribs[j];       
                 
if (imgAttrib.nodeName == "align")       
                 
{       
                     
if (imgAttrib.nodeValue == "left") imgStyle = "float:left;" + imgStyle       
                     
if (imgAttrib.nodeValue == "right") imgStyle = "float:right;" + imgStyle       
                     
break      
                 }
       
             }
       
             
var strNewHTML = "<span " + imgID + imgClass + imgTitle       
             strNewHTML 
+= " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"      
             strNewHTML += 
"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"      
             strNewHTML += 
"(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"      
             img.outerHTML 
= strNewHTML  

         }
       
     }
       
 }
 


使用:

<Head>标签间插入 <script language="javascript" type="text/javascript" src="path/Png.js"></script> 

 

 <body>

 

<img src="" onload="correctPNG(this);" />

 ...

</body>

posted @ 2008-07-22 20:43  zzh  阅读(305)  评论(0编辑  收藏  举报