commit | author | age
|
98ef63
|
1 |
<public:component lightWeight="true"> |
4e17e6
|
2 |
<public:attach event="onpropertychange" onevent="propertyChanged()" /> |
98ef63
|
3 |
<public:attach event="onbeforeprint" onevent="beforePrint()" for="window"/> |
A |
4 |
<public:attach event="onafterprint" onevent="afterPrint()" for="window"/> |
4e17e6
|
5 |
<script> |
T |
6 |
|
0d1dd7
|
7 |
/* |
T |
8 |
* PNG Behavior |
|
9 |
* |
98ef63
|
10 |
* This script was created by Erik Arvidsson (http://webfx.eae.net/contact.html#erik) |
0d1dd7
|
11 |
* for WebFX (http://webfx.eae.net) |
98ef63
|
12 |
* Copyright 2002-2004 |
0d1dd7
|
13 |
* |
98ef63
|
14 |
* For usage see license at http://webfx.eae.net/license.html |
A |
15 |
* |
|
16 |
* Version: 1.02 |
|
17 |
* Created: 2001-??-?? First working version |
|
18 |
* Updated: 2002-03-28 Fixed issue when starting with a non png image and |
|
19 |
* switching between non png images |
|
20 |
* 2003-01-06 Fixed RegExp to correctly work with IE 5.0x |
|
21 |
* 2004-05-09 When printing revert to original |
0d1dd7
|
22 |
* |
T |
23 |
*/ |
98ef63
|
24 |
|
A |
25 |
var supported = /MSIE ((5\.5)|6)/.test(navigator.userAgent) && navigator.platform == "Win32", |
|
26 |
realSrc, |
cfc27c
|
27 |
blankSrc = "program/resources/blank.gif", |
98ef63
|
28 |
isPrinting = false; |
A |
29 |
|
4e17e6
|
30 |
if (supported) fixImage(); |
98ef63
|
31 |
|
4e17e6
|
32 |
function propertyChanged() { |
98ef63
|
33 |
if (!supported || isPrinting) return; |
A |
34 |
|
|
35 |
var pName = event.propertyName; |
|
36 |
if (pName != "src") return; |
|
37 |
// if not set to blank |
|
38 |
if (!new RegExp(blankSrc).test(src)) |
|
39 |
fixImage(); |
|
40 |
}; |
|
41 |
|
0d1dd7
|
42 |
function fixImage() { |
98ef63
|
43 |
// get src |
A |
44 |
var src = element.src; |
|
45 |
|
|
46 |
// check for real change |
|
47 |
if (src == realSrc && /\.png$/i.test(src)) { |
|
48 |
element.src = blankSrc; |
|
49 |
return; |
|
50 |
} |
|
51 |
|
|
52 |
if ( ! new RegExp(blankSrc).test(src)) { |
|
53 |
// backup old src |
|
54 |
realSrc = src; |
|
55 |
} |
|
56 |
|
|
57 |
// test for png |
|
58 |
if (/\.png$/i.test(realSrc)) { |
|
59 |
// set blank image |
|
60 |
element.src = blankSrc; |
|
61 |
// set filter |
|
62 |
element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft." + |
|
63 |
"AlphaImageLoader(src='" + src + "',sizingMethod='scale')"; |
|
64 |
} |
|
65 |
else { |
|
66 |
// remove filter |
|
67 |
element.runtimeStyle.filter = ""; |
|
68 |
} |
0d1dd7
|
69 |
} |
98ef63
|
70 |
|
0d1dd7
|
71 |
function beforePrint() { |
98ef63
|
72 |
isPrinting = true; |
A |
73 |
element.src = realSrc; |
|
74 |
element.runtimeStyle.filter = ""; |
|
75 |
realSrc = null; |
0d1dd7
|
76 |
} |
98ef63
|
77 |
|
0d1dd7
|
78 |
function afterPrint() { |
98ef63
|
79 |
isPrinting = false; |
A |
80 |
fixImage(); |
0d1dd7
|
81 |
} |
98ef63
|
82 |
|
4e17e6
|
83 |
</script> |
0d1dd7
|
84 |
</public:component> |