Jarod@termainal$ tail * >> blog

A Developer's Notebook

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  24 Posts :: 9 Stories :: 12 Comments :: 0 Trackbacks
最近因项目需求,需要在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>



posted on 2006-08-25 20:25 Jarod 阅读(491) 评论(2)  编辑  收藏 所属分类: AJAX

Feedback

# re: 攻破iframe围城[未登录] 2007-12-29 13:44 jht
跨域名就不行了吧  回复  更多评论
  

# re: 攻破iframe围城 2007-12-29 21:49 Jarod
是的。跨域名时内外层iframe中的js不能互访问  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: