Bookmark and Share

Lee's 程序人生

HTML CSS Javascript XML AJAX ATLAS C# C++ 数据结构 软件工程 设计模式 asp.net Java 数字图象处理 Sql 数据库
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

攻破iframe围城

Posted on 2008-06-13 10:01  analyzer  阅读(281)  评论(1)    收藏  举报

JS代码中实现IFrame内外页面的互访问。经过一番试验终于找到方法,以下是试验时用的代码(在IE,Firefox中可正常运行):

main.html


 1<html>
 2 2 <head>
 3 3     <title>MAIN</title>
 4 4     <script type="text/javascript">
 5 5         // 主页面访问IFrame页面DOM内容
 6 6         function oinit() {
 7 7             alert(getIFrameDoc("iframe1").getElementById("idiv").id);
 8 8         }

 9 9         function getIFrameDoc(id) {
1010             var iframe = document.getElementById(id);
1111             var doc = (iframe.contentWindow || iframe.contentDocument);
1212             if (doc.document) {
1313                 doc = doc.document;
1414             }

1515             return doc;
1616         }

1717     
</script>
1818 </head>
1919 <body onload="oinit()">
2020     <div id="odiv">
2121         <iframe id="iframe1" src="iframe.html"></iframe>
2222     </div>
2323 </body>
2424 </html>

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

 9 9     
</script>
1010 </head>
1111 <body onload="iinit()">
1212     <div id="idiv">
1313 </body>
1414 </html>

from:http://www.blogjava.net/jarod/archive/2006/08/25/65850.html