iframe元素就是文檔中的文檔。
window對(duì)象: 瀏覽器會(huì)在其打開一個(gè)HTML文檔時(shí)創(chuàng)建一個(gè)對(duì)應(yīng)的window對(duì)象。但是,如果一個(gè)文檔定義了一個(gè)或者多個(gè)框架(即:包含一個(gè)或者多個(gè)frame或者iframe標(biāo)簽),瀏覽器就會(huì)為原始文檔創(chuàng)建一個(gè)window對(duì)象,再為每個(gè)iframe創(chuàng)建額外的window對(duì)象,這些額外的window對(duì)象是原始窗口的子窗口。
contentWindow: 是指指定的iframe或者iframe所在的window對(duì)象
Demo1
父頁(yè)面fu.html:
<!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8"> <title>父頁(yè)面</title> </head> <body> <input type=button value="調(diào)用子頁(yè)面中的函數(shù)childSay函數(shù)" onclick="callChild()"> <iframe id="myFrame" src="zi.html"></iframe> <script type="text/javascript">function parentSay() {alert("我是父頁(yè)面中的方法");}function callChild(){document.getElementById("myFrame").contentWindow.childSay();} </script> </body></html>子頁(yè)面zi.html
<!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8"> <title>子頁(yè)面</title> </head> <body> <input type=button value="調(diào)用父頁(yè)面中的parentSay()函數(shù)" onclick="callParent()"> <script type="text/javascript">function childSay(){alert("我是子頁(yè)面的say方法");}function callParent() {parent.parentSay();} </script> </body></html>Demo2
父頁(yè)面iframe1.html:
<!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8"> <title>父頁(yè)面與子頁(yè)面之間的調(diào)用</title> </head> <body> <iframe src="http://localhost/iframe/iframe3.html" id="iframe3"></iframe> <iframe src="http://localhost/iframe/iframe2.html" id="iframe2"></iframe> <div class="iframe1">我是父頁(yè)面</div> <script type="text/javascript"> var iframe2=document.getElementById('iframe2'); iframe2.onload=function(){//父頁(yè)面調(diào)用子頁(yè)面中的方法 iframe2.contentWindow.b(); }; function test2() { console.log("我是父頁(yè)面中的方法,在子頁(yè)面中調(diào)用的"); return iframe2; } </script> </body></html>子頁(yè)面iframe2.html:
<!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8"> <title>子頁(yè)面</title> </head> <body> <div id="test">aaa</div> <div class="iframe2">子頁(yè)面</div> <script type="text/javascript"> //子頁(yè)面iframe2.html調(diào)用父頁(yè)面iframe1.html的函數(shù): parent.test2(); function b(){ console.log("我是子頁(yè)面iframe2"); } function c() { console.log("iframe3頁(yè)面調(diào)用iframe2頁(yè)面"); } </script> </body></html>子頁(yè)面iframe3.html:
<!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8"> <title>iframe3</title> </head> <body> <script type="text/javascript"> var iframe2=parent.test2(); iframe2.contentWindow.c();//iframe3調(diào)用iframe2中的方法 </script> </body></html>
Demo2也實(shí)現(xiàn)了子頁(yè)面與子頁(yè)面之間相互調(diào)用。
以上就是小編為大家?guī)?lái)的關(guān)于Iframe父頁(yè)面與子頁(yè)面之間的相互調(diào)用全部?jī)?nèi)容了,希望大家多多支持VeVb武林網(wǎng)~
新聞熱點(diǎn)
疑難解答