2011-09-05 3 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