Op een pagina wil ik graag Google AdSense in een div.
Deze div (content) zit in een andere div (container) met overflow: hidden.
Met JavaScript scroll ik de content in de container.
Google AdSense plaatst een iframe op de pagina.
Dit iframe doet vreemd wanneer de content scrollt. Hij wordt af en toe door de pagina heen getekent.
Dit probleem treed op in Firefox 2.0.0.3, maar niet in Internet Explorer 6 of 7.
Op internet vind ik een enkeling met een vergelijkbaar probleem, maar nergens een oplossing.
Hopelijk heeft iemand hier er een.
Het probleem is aan te tonen met de volgende HTML:
(online op: http://www.bleq.nl/projects/IframeOverflow/)
Deze div (content) zit in een andere div (container) met overflow: hidden.
Met JavaScript scroll ik de content in de container.
Google AdSense plaatst een iframe op de pagina.
Dit iframe doet vreemd wanneer de content scrollt. Hij wordt af en toe door de pagina heen getekent.
Dit probleem treed op in Firefox 2.0.0.3, maar niet in Internet Explorer 6 of 7.
Op internet vind ik een enkeling met een vergelijkbaar probleem, maar nergens een oplossing.
Hopelijk heeft iemand hier er een.
Het probleem is aan te tonen met de volgende HTML:
HTML:
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
| <html> <head> <title>Outer page</title> </head> <body> <script> function scrollIframe(scroll) { var iframe = document.getElementById('iframecontainer'); if(iframe.style.top) { topp = parseInt(iframe.style.top); } else { topp = 0; } iframe.style.top = (topp + scroll) + "px"; } function switchOverflow(hidden) { if(hidden) { document.getElementById('hider').style.overflow = 'hidden'; } else { // auto document.getElementById('hider').style.overflow = 'auto'; var iframe = document.getElementById('iframecontainer'); iframe.style.top = "0px"; } document.getElementById('btnauto').disabled = !hidden; document.getElementById('btnhidden').disabled = hidden; document.getElementById('btnup').disabled = !hidden; document.getElementById('btndown').disabled = !hidden; } </script> <br/><br/><br/><br/><br/><br/><br/> <div id="scroll" style="position: absolute; left: 320px"> <input id="btnup" type="button" value="scroll /\" onClick="scrollIframe(20)"/><br/> <input id="btndown" type="button" value="scroll \/" onClick="scrollIframe(-20)"/><br/> <br/> <input id="btnauto" type="button" value="Overflow: auto" onClick="switchOverflow(false)"/> <input id="btnhidden" type="button" value="Overflow: hidden" disabled onClick="switchOverflow(true)"/> </div> <div id="hider" style="width: 304px; height: 300px; border: 1px solid red; overflow: hidden"> <div id="iframecontainer" style="border: 1px solid blue; position: relative;"> <iframe width="300" height="5000" src="inner.html"></iframe> </div> </div> <sub>Onderschrift</sub> </body> </html> |
(online op: http://www.bleq.nl/projects/IframeOverflow/)