iframe元素就是文檔中的文檔。
window對象: 浏覽器會在其打開一個HTML文檔時創建一個對應的window對象。但是,如果一個文檔定義了一個或者多個框架(即:包含一個或者多個frame或者iframe標簽),浏覽器就會為原始文檔創建一個window對象,再為每個iframe創建額外的window對象,這些額外的window對象是原始窗口的子窗口。
contentWindow: 是指指定的iframe或者iframe所在的window對象
Demo1
父頁面fu.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>父頁面</title> </head> <body> <input type=button value="調用子頁面中的函數childSay函數" onclick="callChild()"> <iframe id="myFrame" src="zi.html"></iframe> <script type="text/javascript"> function parentSay() { alert("我是父頁面中的方法"); } function callChild() { document.getElementById("myFrame").contentWindow.childSay(); } </script> </body> </html>
子頁面zi.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>子頁面</title> </head> <body> <input type=button value="調用父頁面中的parentSay()函數" onclick="callParent()"> <script type="text/javascript"> function childSay() { alert("我是子頁面的say方法"); } function callParent() { parent.parentSay(); } </script> </body> </html>
Demo2
父頁面iframe1.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>父頁面與子頁面之間的調用</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">我是父頁面</div> <script type="text/javascript"> var iframe2=document.getElementById('iframe2'); iframe2.onload=function(){//父頁面調用子頁面中的方法 iframe2.contentWindow.b(); }; function test2() { console.log("我是父頁面中的方法,在子頁面中調用的"); return iframe2; } </script> </body> </html>
子頁面iframe2.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>子頁面</title> </head> <body> <div id="test">aaa</div> <div class="iframe2">子頁面</div> <script type="text/javascript"> //子頁面iframe2.html調用父頁面iframe1.html的函數: parent.test2(); function b(){ console.log("我是子頁面iframe2"); } function c() { console.log("iframe3頁面調用iframe2頁面"); } </script> </body> </html>
子頁面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調用iframe2中的方法 </script> </body> </html>
Demo2也實現了子頁面與子頁面之間相互調用。
以上就是小編為大家帶來的關於Iframe父頁面與子頁面之間的相互調用全部內容了,希望大家多多支持~