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) {
10
10 var iframe = document.getElementById(id);
11
11 var doc = (iframe.contentWindow || iframe.contentDocument);
12
12 if (doc.document) {
13
13 doc = doc.document;
14
14 }
15
15 return doc;
16
16 }
17
17 </script>
18
18 </head>
19
19 <body onload="oinit()">
20
20 <div id="odiv">
21
21 <iframe id="iframe1" src="iframe.html"></iframe>
22
22 </div>
23
23 </body>
24
24 </html>
<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) {10
10 var iframe = document.getElementById(id);11
11 var doc = (iframe.contentWindow || iframe.contentDocument);12
12 if (doc.document) {13
13 doc = doc.document;14
14 }15
15 return doc;16
16 }17
17 </script>18
18 </head>19
19 <body onload="oinit()">20
20 <div id="odiv">21
21 <iframe id="iframe1" src="iframe.html"></iframe>22
22 </div>23
23 </body>24
24 </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>
10
10 </head>
11
11 <body onload="iinit()">
12
12 <div id="idiv">
13
13 </body>
14
14 </html>
<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>10
10 </head>11
11 <body onload="iinit()">12
12 <div id="idiv">13
13 </body>14
14 </html>from:http://www.blogjava.net/jarod/archive/2006/08/25/65850.html
4 

浙公网安备 33010602011771号