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也实现了子页面与子页面之间相互调用。

最新文章

  1. SQL Server - 数据库初识
  2. SNMP 原理与实战详解
  3. ASP.Net页面刷新后自动滚动到原来位置
  4. mac安装软件管家homebrew
  5. 让EntityFramework6支持SQLite
  6. PHP isset()与empty()的区别
  7. html5 audio音频播放全解析
  8. Java中String类的format方法使用总结
  9. JavaScript动画附源码(一)
  10. codevs3008加工生产调度(Johnson算法)
  11. VB中DateDiff 函数解释
  12. Javascript 【JSON对象】
  13. DotNetZip 压缩下载
  14. Linux之mailx的使用
  15. python把列表前几个元素提取到新列表
  16. linux计算服务器最近一次重启的时间
  17. android mat 转 bitmap
  18. hdu 1257 &amp;&amp; hdu 1789(简单DP或贪心)
  19. 第12月第8天 Retrofit.builder
  20. Vue项目页面跳转时候的,浏览器窗口上方的进度条显示

热门文章

  1. Mycat 分片规则详解--ER关系表分片
  2. 【深度学习】用PaddlePaddle进行车牌识别(二)
  3. poj-1503-java大数相加
  4. MIP (百度移动网页加速器)
  5. [bzoj3173]最长上升子序列_非旋转Treap
  6. Jmeter中正则表达式提取器使用详解
  7. 大数据hadoop面试题2018年最新版(美团)
  8. C第十八次课
  9. 2017-2018-1 Java演绎法 第六七周 作业
  10. c语言函数作业