关于Iframe父页面与子页面之间的相互调用


Posted in Javascript onNovember 22, 2016

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父页面与子页面之间的相互调用全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
定义select的边框颜色
Apr 28 Javascript
jQuery 表格插件整理
Apr 27 Javascript
收集的一些Array及String原型对象的扩展实现代码
Dec 05 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
Jun 15 Javascript
angularjs的一些优化小技巧
Dec 06 Javascript
使用微信小程序开发前端【快速入门】
Dec 05 Javascript
微信小程序的动画效果详解
Jan 18 Javascript
解决Extjs下拉框不显示的问题
Jun 21 Javascript
Vue.js轮播图走马灯代码实例(全)
May 08 Javascript
小程序input数据双向绑定实现方法
Oct 17 Javascript
解决vue-photo-preview 异步图片放大失效的问题
Jul 29 Javascript
VUE-ElementUI 自定义Loading图操作
Nov 11 Javascript
JS中BOM相关知识点总结(必看篇)
Nov 22 #Javascript
老生常谈原生JS执行环境与作用域
Nov 22 #Javascript
JS中位置与大小的获取方法
Nov 22 #Javascript
javascript中Date对象的使用总结
Nov 21 #Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
Nov 21 #Javascript
使用Angular.js实现简单的购物车功能
Nov 21 #Javascript
jQuery设置Easyui校验规则(推荐)
Nov 21 #Javascript
You might like
用PHP和ACCESS写聊天室(九)
2006/10/09 PHP
Linux下进行MYSQL编程时插入中文乱码的解决方案
2007/03/15 PHP
php中echo()和print()、require()和include()等易混淆函数的区别
2012/02/22 PHP
浅谈php命令行用法
2015/02/04 PHP
PHP 数组基本操作方法详解
2016/06/17 PHP
PHP实现找出链表中环的入口节点
2018/01/16 PHP
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
2009/02/18 Javascript
浅析JQuery获取和设置Select选项的常用方法总结
2013/07/04 Javascript
jQuery采用连缀写法实现的折叠菜单效果
2015/09/18 Javascript
JavaScript多图片上传案例
2015/09/28 Javascript
jQuery实现分章节锚点“回到顶部”动画特效代码
2015/10/23 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
2015/12/03 Javascript
分享网页检测摇一摇实例代码
2016/01/14 Javascript
javascript中Number的方法小结
2016/11/21 Javascript
JS小数转换为整数的方法分析
2017/01/07 Javascript
Angular2学习笔记之数据绑定的示例代码
2018/01/03 Javascript
微信小程序实现时间进度条功能
2020/11/17 Javascript
file-loader打包图片文件时路径错误输出为[object-module]的解决方法
2020/01/03 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
Python图形绘制操作之正弦曲线实现方法分析
2017/12/25 Python
pytorch中tensor的合并与截取方法
2018/07/26 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
基于Python中random.sample()的替代方案
2020/05/23 Python
建筑系毕业生自我鉴定
2014/01/24 职场文书
总经理的岗位职责
2014/02/23 职场文书
文明村创建实施方案
2014/03/27 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
2016年119消防宣传日活动总结
2016/04/05 职场文书
2019入党申请书格式和范文
2019/06/25 职场文书
MySQL开启事务的方式
2021/06/26 MySQL
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android
基于Python实现流星雨效果的绘制
2022/03/18 Python
python对文档中元素删除,替换操作
2022/04/02 Python
在SQL Server中使用 Try Catch 处理异常的示例详解
2022/07/15 SQL Server