2011-09-05 25 views
1

作爲開發的一部分,我遇到了IE6中PNG文件的透明度問題......我發現下面的腳本,除了一些計算機(使用相同的配置XP - IE6)當我拿到「HTMLFILE:未指定的錯誤」就行了:PNG修正案(IE6)中的「document.body.filters」錯誤

if ((version >= 5.5) && (document.body.filters)) 

我沒有找到關於這一問題的討論。您是否對僅在具有相同配置的計算機上發現的此問題的來源有所瞭解?請

腳本:

/* 

Correctly handle PNG transparency in Win IE 5.5 & 6. 
http://homepage.ntlworld.com/bobosola. Updated 18-Jan-2006. 

Use in <HEAD> with DEFER keyword wrapped in conditional comments: 
<!--[if lt IE 7]> 
<script defer type="text/javascript" src="pngfix.js"></script> 
<![endif]--> 

*/ 

var arVersion = navigator.appVersion.split("MSIE") 
var version = parseFloat(arVersion[1]) 

if ((version >= 5.5) && (document.body.filters)) 
{ 
    for(var i=0; i<document.images.length; i++) 
    { 
     var img = document.images[i] 
     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 
     if (img.align == "left") imgStyle = "float:left;" + imgStyle 
     if (img.align == "right") imgStyle = "float:right;" + imgStyle 
     if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle 
     var strNewHTML = "<span " + imgID + imgClass + imgTitle 
     + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" 
     + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" 
     + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
     img.outerHTML = strNewHTML 
     i = i-1 
     } 
    } 
} 

謝謝您的幫助

+0

復古去除延遲 -attribute!復古! – shabunc

回答

0

嘗試從腳本元素

+0

總是一樣的問題,最後我用腳本:http://www.dillerdesign.com/experiment/DD_belatedPNG/ – user929072