Loop tegen het probleem aan dat Opera een iframe height niet begrijpt.
Heb even een test online gezet: http://www.devdbergjes.nl/test/
De index.htm:
De test.htm die in de iframe wordt geladen heb ik even als test volgezet met tekst. In zowel IE als in Chrome werkt dit prima, maar in Opera krijg ik maar een klein stukje (in de hoogte dan) van het iframe te zien.
De reden waarom ik een iframe gebruikt is omdat er (voor mij dan) gemakkelijk scripts in geladen kunnen worden. Een voorbeeld is in bovenstaande link te vinden. Klik maar op FAQ. Dit is b.v. een script wat ik straks graag wil gebruiken.
Weet iemand hoe ik bovenstaand probleem kan verhelpen? Of anders hoe ik anders een bestaand script in mijn pagina kan krijgen zonder iframe?
Alvast bedankt!
Heb even een test online gezet: http://www.devdbergjes.nl/test/
De index.htm:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
| <html> <head> <meta http-equiv="Content-Language" content="en-us"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>MENU</title> </head> <script type="text/javascript"> /*********************************************** * IFrame SSI script II- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com) * Visit DynamicDrive.com for hundreds of original DHTML scripts * This notice must stay intact for legal use ***********************************************/ //Input the IDs of the IFRAMES you wish to dynamically resize to match its content height: //Separate each ID with a comma. Examples: ["myframe1", "myframe2"] or ["myframe"] or [] for none: var iframeids=["myframe"] //Should script hide iframe from browsers that don't support this script (non IE5+/NS6+ browsers. Recommended): var iframehide="yes" var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1] var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers function resizeCaller() { var dyniframe=new Array() for (i=0; i<iframeids.length; i++){ if (document.getElementById) resizeIframe(iframeids[i]) //reveal iframe for lower end browsers? (see var above): if ((document.all || document.getElementById) && iframehide=="no"){ var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i]) tempobj.style.display="block" } } } function resizeIframe(frameid){ var currentfr=document.getElementById(frameid) if (currentfr){ currentfr.style.display="block" if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight; else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax currentfr.height = currentfr.Document.body.scrollHeight; if (currentfr.addEventListener) currentfr.addEventListener("load", readjustIframe, false) else if (currentfr.attachEvent){ currentfr.detachEvent("onload", readjustIframe) // Bug fix line currentfr.attachEvent("onload", readjustIframe) } } } function readjustIframe(loadevt) { var crossevt=(window.event)? event : loadevt var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement if (iframeroot) resizeIframe(iframeroot.id); } function loadintoIframe(iframeid, url){ if (document.getElementById) document.getElementById(iframeid).src=url } if (window.addEventListener) window.addEventListener("load", resizeCaller, false) else if (window.attachEvent) window.attachEvent("onload", resizeCaller) else window.onload=resizeCaller </script> <body> <table border="0" width="100%"> <tr> <td width="181" valign="top"><a target="Guestbook" href="test.htm">MENU:</a><p> <a target="Guestbook" href="faq/index.php">FAQ</a></td> <td valign="top"> <iframe id="myframe" src="test.htm" scrolling="no" marginwidth="1" marginheight="1" frameborder="0" vspace="0" hspace="0" style="overflow:visible; width:100%; display:none" name="Guestbook"></iframe> </td> </tr> </table> </body> </html> |
De test.htm die in de iframe wordt geladen heb ik even als test volgezet met tekst. In zowel IE als in Chrome werkt dit prima, maar in Opera krijg ik maar een klein stukje (in de hoogte dan) van het iframe te zien.
De reden waarom ik een iframe gebruikt is omdat er (voor mij dan) gemakkelijk scripts in geladen kunnen worden. Een voorbeeld is in bovenstaande link te vinden. Klik maar op FAQ. Dit is b.v. een script wat ik straks graag wil gebruiken.
Weet iemand hoe ik bovenstaand probleem kan verhelpen? Of anders hoe ik anders een bestaand script in mijn pagina kan krijgen zonder iframe?
Alvast bedankt!