關于Iframe父頁面與子頁面之間的相互調用
iframe元素就是文檔中的文檔。
window對象: 瀏覽器會在其打開一個HTML文檔時創(chuàng)建一個對應的window對象。但是,如果一個文檔定義了一個或者多個框架(即:包含一個或者多個frame或者iframe標簽),瀏覽器就會為原始文檔創(chuàng)建一個window對象,再為每個iframe創(chuàng)建額外的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="調用子頁面中的函數(shù)childSay函數(shù)" 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()函數(shù)" 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的函數(shù):
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也實現(xiàn)了子頁面與子頁面之間相互調用。
以上就是小編為大家?guī)淼年P于Iframe父頁面與子頁面之間的相互調用全部內容了,希望大家多多支持腳本之家~
相關文章
javascript實現(xiàn)動態(tài)改變層大小的方法
這篇文章主要介紹了javascript實現(xiàn)動態(tài)改變層大小的方法,涉及javascript操作頁面屬性的相關技巧,需要的朋友可以參考下2015-05-05
Javascript iframe交互并兼容各種瀏覽器的解決方法
這篇文章主要介紹了Javascript iframe交互并兼容各種瀏覽器的解決方法的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07

