To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.
root / onto / talks / mo-ismir-2007 / ui / mo / iepngfix.htc @ 0:1e44d666ced1
History | View | Annotate | Download (1.21 KB)
| 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 = 'v11rc1/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> |