/** * Description: * Some functions to fix the PNG files' transparent problem in IE6 * * History: * Created by Moky @ 2008-09-19 */ /* Usage: <mce:script language="javascript" src="js/lib/png.js" mce_src="js/lib/png.js"></mce:script> // just it! */ /** * fix the problem in IE which cannot show transparent PNG image */ function fixPNG(myImage) { var arVersion = navigator.appVersion.split('MSIE'); var version = parseFloat(arVersion[1]); if ((version >= 5.5) && (version < 7) && (document.body.filters)) { var imgID = (myImage.id) ? 'id="' + myImage.id + '" ' : ''; var imgClass = (myImage.className) ? 'class="' + myImage.className + '" ' : ''; var imgTitle = (myImage.title) ? 'title="' + myImage.title + '" ' : 'title="' + myImage.alt + '" '; var imgStyle = 'display:inline-block;' + myImage.style.cssText; var strNewHTML = '<span ' + imgID + imgClass + imgTitle + ' style="width:' + myImage.width + 'px; height:' + myImage.height + 'px;' + imgStyle + ';' + 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader' + '(src=/'' + myImage.src + '/', sizingMethod=/'scale/');"><img style="display:none;" mce_style="display:none;" /></span>'; myImage.outerHTML = strNewHTML; } } function correctPNG() { var images = document.getElementsByTagName('img'); for (var x = 0; x < images.length; x++) { var img = images[x]; var imgName = img.src.toLowerCase(); if (imgName.substring(imgName.length - 4, imgName.length) == '.png') { fixPNG(img); } } } try { window.attachEvent('onload', correctPNG); } catch(e) { window.addEventListener('load', correctPNG, true); }