372
|
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 = 'ui/default/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> |