source: website/preview/talks/yapc-eu-2008/ui/default/iepngfix.htc @ 1205

Last change on this file since 1205 was 1205, checked in by Dominic Hargreaves, 13 years ago

add talk

File size: 1.2 KB
Line 
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.
10var blankImg = 'ui/default/blank.gif';
11
12var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
13
14function 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
21function 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
39doFix();
40
41</script>
42</public:component>
Note: See TracBrowser for help on using the repository browser.