2006-08-25

攻破iframe围城

关键字: iframe
最近因项目需求,需要在JS代码中实现IFrame内外页面的互访问。经过一番试验终于找到方法,以下是试验时用的代码(在IE,Firefox中可正常运行):

main.html
 1 <html>
 2 <head>
 3     <title>MAIN</title>
 4     <script type="text/javascript">
 5         // 主页面访问IFrame页面DOM内容
 6         function oinit() {
 7             alert(getIFrameDoc("iframe1").getElementById("idiv").id);
 8         }
 9         function getIFrameDoc(id) {
10             var iframe = document.getElementById(id);
11             var doc = (iframe.contentWindow || iframe.contentDocument);
12             if (doc.document) {
13                 doc = doc.document;
14             }
15             return doc;
16         }
17     </script>
18 </head>
19 <body onload="oinit()">
20     <div id="odiv">
21         <iframe id="iframe1" src="iframe.html"></iframe>
22     </div>
23 </body>
24 </html>

iframe.html
 1 <html>
 2 <head>
 3     <title>IFRAME</title>
 4     <script type="text/javascript">
 5         // IFrame页面访问外层页面DOM内容
 6         function iinit() {
 7             alert(window.parent.document.getElementById("odiv").id);
 8         }
 9     </script>
10 </head>
11 <body onload="iinit()">
12     <div id="idiv">
13 </body>
14 </html>



评论
发表评论

您还没有登录,请登录后发表评论

Sam1860
搜索本博客
存档
最新评论
评论排行榜