View Single Post
Sponsorlu Bağlantılar
Zoque.Forum
Advertisement
Old 02.10.2006   #4 (permalink)
maviruya
 
maviruya's Avatar
 
Üyelik Tarihi: 05.04.2004
Yer: İstanbul
Yaş: 30
Mesaj: 36
Re: IE altında düzgün görüntülenemeyen Transparan PNG sorununun çözümü

Açıkcası .htc uzantılı dosyaların güvenlik açığına neden olduklarını bilmiyordum. Ben uzun zamandır kullandığım bu yöntemden verim aldığım için sizlerle paylaşmak istedim. Uyarı için teşekkürler cgencer. Eklemiş olduğun script benim vermiş olduğum yöntemden daha basit ve kullanışlı. Fakat script bu hali ile çalışmıyor. Scripti bir function içine almamız ve browserin açılışta bu scripti çalıştırması için onload olayını başlamamız gerekli. cgencer sunmuş olduğun pratik yöntem için tekrar teşekkürler.
Kod:
<script language="JavaScript" type="text/JavaScript">
<!--
function fixPng() {
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
      }
   }
}
}

window.onload = fixPng;
//--></script>
maviruya şu an çevrimdışı   Mesajdan alıntı yaparak yeni bir cevap ekleyin