Root/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | <public:component> <public:attach event="onpropertychange" onevent="doFix()" /> <script type="text/javascript"> // IE5.5+ PNG Alpha Fix v1.0RC4 // (c) 2004-2005 Angus Turnbull http://www.twinhelix.com // This is licensed under the CC-GNU LGPL, version 2.1 or later. // For details, see: http://creativecommons.org/licenses/LGPL/2.1/ // This must be a path to a blank image. That's all the configuration you need. if (typeof blankImg == 'undefined') var blankImg = '/media/idf/css/blank.gif'; var f = 'DXImageTransform.Microsoft.AlphaImageLoader'; function filt(s, m) { if (filters[f]) { filters[f].enabled = s ? true : false; if (s) with (filters[f]) { src = s; sizingMethod = m } } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")'; } function doFix() { // Assume IE7 is OK. if (!/MSIE (5\.5|6\.)/.test(navigator.userAgent) || (event && !/(background|src)/.test(event.propertyName))) return; var bgImg = currentStyle.backgroundImage || style.backgroundImage; if (tagName == 'IMG') { if ((/\.png$/i).test(src)) { if (currentStyle.width == 'auto' && currentStyle.height == 'auto') style.width = offsetWidth + 'px'; filt(src, 'scale'); src = blankImg; } else if (src.indexOf(blankImg) < 0) filt(); } else if (bgImg && bgImg != 'none') { if (bgImg.match(/^url[("']+(.*\.png)[)"']+$/i)) { var s = RegExp.$1; if (currentStyle.width == 'auto' && currentStyle.height == 'auto') style.width = offsetWidth + 'px'; style.backgroundImage = 'none'; filt(s, 'crop'); // IE link fix. for (var n = 0; n < childNodes.length; n++) if (childNodes[n].style) childNodes[n].style.position = 'relative'; } else filt(); } } doFix(); |