1 |
// load iframe and resize it |
2 |
// written by Dobrica Pavlinusic <dpavlin@rot13.org> |
3 |
// based on great hints from Robert Avilov |
4 |
|
5 |
var iframe_id_cache = Array(); |
6 |
|
7 |
function iframe_id(name) { |
8 |
if (! iframe_id_cache[name]) { |
9 |
iframe_id_cache[name] = self.document.getElementById(name); |
10 |
} |
11 |
return iframe_id_cache[name]; |
12 |
} |
13 |
|
14 |
|
15 |
function iframe_doc(name) { |
16 |
if (iframe_id(name).contentDocument) return iframe_id(name).contentDocument; |
17 |
if (iframe_id(name).contentWindow) { |
18 |
try { |
19 |
return iframe_id(name).contentWindow.document; |
20 |
} catch (e) {}; |
21 |
} |
22 |
if (iframe_id(name).document) return iframe_id(name).document; |
23 |
return null; |
24 |
} |
25 |
|
26 |
function iframe_height(name) { |
27 |
|
28 |
var doc = iframe_doc(name); |
29 |
|
30 |
if (doc.body) { |
31 |
var h = -1; |
32 |
|
33 |
if (doc.body.scrollHeight) { |
34 |
h = parseInt(doc.body.scrollHeight) || -1; |
35 |
} |
36 |
if (h < 0 && doc.body.clientHeight) { |
37 |
h = parseInt(doc.body.clientHeight) || -1; |
38 |
} |
39 |
|
40 |
return h; |
41 |
|
42 |
} |
43 |
return 50; |
44 |
} |
45 |
|
46 |
function iframe_resize(name) { |
47 |
if (! iframe_id(name).src) return; |
48 |
|
49 |
iframe_id(name).style.height = String(iframe_height(name)+'px'); |
50 |
} |
51 |
|
52 |
function iframe_load(name,url) { |
53 |
|
54 |
if (! name || ! url) return false; |
55 |
|
56 |
iframe_id(name).src = url; |
57 |
|
58 |
return false; |
59 |
} |
60 |
|