Web components
File detail
Source code
<public:component>
<public:attach event="onpropertychange" for="element" onevent="propertyChanged()" />
<script>
/*
* PNG Hack
*
* Copyright 2002, Aaron Porter <aaron@javasource.org>
*
* Inspired by Erik Arvidsson's "PNG Behavior" at
* http://webfx.eae.net/dhtml/pngbehavior/pngbehavior.html
*/
var needHack = needHack();
var transparentImage = "/img/alfa_pixel.gif";
pngHack();
function propertyChanged()
{
if (event.propertyName == "src")
pngHack();
}
function pngHack()
{
if (!needHack)
return;
var src = element.src;
var propStor = new PropStorage(element, new Array(
'height',
'width'
));
if (src.indexOf(transparentImage) != -1)
return; // Already fixed
if (src.indexOf("png") == -1) // There's got to be a better check than this!
{
element.runtimeStyle.filter = "";
return;
}
element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
element.src = transparentImage;
propStor.restore(element);
}
function needHack()
{
var pos = navigator.userAgent.indexOf("MSIE ");
if (pos == -1)
return false;
var version = navigator.userAgent.substring(pos + 5);
return (((version.indexOf("5.5") == 0) || (version.indexOf("6") == 0)) && (navigator.platform == ("Win32")));
}
</script>
</public:component>