关于Iframe父页面与子页面之间的相互调用
iframe元素就是文档中的文档。
window对象:浏览器会在其打开一个HTML文档时创建一个对应的window对象。但是,如果一个文档定义了一个或者多个框架(即:包含一个或者多个frame或者iframe标签),浏览器就会为原始文档创建一个window对象,再为每个iframe创建额外的window对象,这些额外的window对象是原始窗口的子窗口。
contentWindow:是指指定的iframe或者iframe所在的window对象
Demo1
父页面fu.html:
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="utf-8">
<title>父页面</title>
</head>
<body>
<inputtype=buttonvalue="调用子页面中的函数childSay函数"onclick="callChild()">
<iframeid="myFrame"src="zi.html"></iframe>
<scripttype="text/javascript">
functionparentSay(){
alert("我是父页面中的方法");
}
functioncallChild()
{
document.getElementById("myFrame").contentWindow.childSay();
}
</script>
</body>
</html>
子页面zi.html
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="utf-8">
<title>子页面</title>
</head>
<body>
<inputtype=buttonvalue="调用父页面中的parentSay()函数"onclick="callParent()">
<scripttype="text/javascript">
functionchildSay()
{
alert("我是子页面的say方法");
}
functioncallParent(){
parent.parentSay();
}
</script>
</body>
</html>
Demo2
父页面iframe1.html:
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="utf-8">
<title>父页面与子页面之间的调用</title>
</head>
<body>
<iframesrc="http://localhost/iframe/iframe3.html"id="iframe3"></iframe>
<iframesrc="http://localhost/iframe/iframe2.html"id="iframe2"></iframe>
<divclass="iframe1">我是父页面</div>
<scripttype="text/javascript">
variframe2=document.getElementById('iframe2');
iframe2.onload=function(){//父页面调用子页面中的方法
iframe2.contentWindow.b();
};
functiontest2(){
console.log("我是父页面中的方法,在子页面中调用的");
returniframe2;
}
</script>
</body>
</html>
子页面iframe2.html:
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="utf-8">
<title>子页面</title>
</head>
<body>
<divid="test">aaa</div>
<divclass="iframe2">子页面</div>
<scripttype="text/javascript">
//子页面iframe2.html调用父页面iframe1.html的函数:
parent.test2();
functionb(){
console.log("我是子页面iframe2");
}
functionc(){
console.log("iframe3页面调用iframe2页面");
}
</script>
</body>
</html>
子页面iframe3.html:
<!DOCTYPEhtml> <htmllang="en"> <head> <metacharset="utf-8"> <title>iframe3</title> </head> <body> <scripttype="text/javascript"> variframe2=parent.test2(); iframe2.contentWindow.c();//iframe3调用iframe2中的方法 </script> </body> </html>
Demo2也实现了子页面与子页面之间相互调用。
以上就是小编为大家带来的关于Iframe父页面与子页面之间的相互调用全部内容了,希望大家多多支持毛票票~