presentations

Presentations
Log | Files | Refs

iepngfix.htc (1222B)


      1 <public:component>
      2 <public:attach event="onpropertychange" onevent="doFix()" />
      3 
      4 <script>
      5 
      6 // IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com
      7 // Free usage permitted as long as this notice remains intact.
      8 
      9 // This must be a path to a blank image. That's all the configuration you need here.
     10 var blankImg = 'blank.gif';
     11 
     12 var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
     13 
     14 function filt(s, m) {
     15  if (filters[f]) {
     16   filters[f].enabled = s ? true : false;
     17   if (s) with (filters[f]) { src = s; sizingMethod = m }
     18  } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
     19 }
     20 
     21 function doFix() {
     22  if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) ||
     23   (event && !/(background|src)/.test(event.propertyName))) return;
     24 
     25  if (tagName == 'IMG') {
     26   if ((/\.png$/i).test(src)) {
     27    filt(src, 'image');  // was 'scale'
     28    src = blankImg;
     29   } else if (src.indexOf(blankImg) < 0) filt();
     30  } else if (style.backgroundImage) {
     31   if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) {
     32    var s = RegExp.$1;
     33    style.backgroundImage = '';
     34    filt(s, 'crop');
     35   } else filt();
     36  }
     37 }
     38 
     39 doFix();
     40 
     41 </script>
     42 </public:component>