webForumDet fria alternativet

PNG-problem i Opera/IE

2 svar · 218 visningar · startad av Pudolf

PudolfMedlem sedan juli 2000221 inlägg
#1

Jag försöker få mina PNG-bilder (med transparency) att fungera bra i IE 6.0, Firefox och Opera 7. De funkar bra i Firefox och Opera 7, men inte i IE 6.0.

I alla fall så hittade jag en liten javascript-kod som fixade detta någorlunda:
http://homepage.ntlworld.com/bobosola/index.htm

Allt funkar fortfarande fint i Firefox och nu funkar PNG-bilder bra i IE6.0 (men inte som bakgrunder, men det kanske jag klarar mig utan). Fast nu efter att jag inkluderat javascript-koden så syns inte PNG-bilder alls i Opera 7, men sätter jag dem som bakgrunder syns de och fungerar fint vad gäller transparency.

Nån som har tips på hur jag ska fixa detta?

Här är javascript-koden:

function correctPNG() // correctly handle PNG transparency in Win IE 5.5 or higher.
   {
   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.attachEvent("onload", correctPNG);

Tack på förhand!

PudolfMedlem sedan juli 2000221 inlägg
#2

Nu hittade jag en ny variant som fungerade fint!
http://webfx.eae.net/dhtml/pngbehavior/pngbehavior.html

Funkar kalas förutom att PNG-bakgrunder med transparency fortfarande blir fel i IE6.0, men detta duger bra det!

nitro2k01Medlem sedan aug. 20039 342 inlägg
#3

Precis vad jag skulle ha rekommenderat. Men markera gärna ditt svar som slutgiltigt!

129 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)