关于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 相关文章推荐
JAVASCRIPT对象及属性
Feb 13 Javascript
用函数式编程技术编写优美的 JavaScript_ibm
May 16 Javascript
Javascript打印网页部分内容的脚本
Nov 17 Javascript
理解Javascript_05_原型继承原理
Oct 13 Javascript
8个超棒的学习 jQuery 的网站 推荐收藏
Apr 02 Javascript
js如何获取file控件的完整路径具体实现代码
May 15 Javascript
js里取容器大小、定位、距离等属性搜集整理
Aug 19 Javascript
微信小程序进行微信支付的步骤昂述
Dec 01 Javascript
JavaScript的事件机制详解
Jan 17 Javascript
基于JS实现网页中的选项卡(两种方法)
Jun 16 Javascript
微信小程序wx.previewImage预览图片实例详解
Dec 07 Javascript
详解如何使用webpack打包多页jquery项目
Feb 01 jQuery
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删除HTMl标签的三种解决方法
2013/06/30 PHP
phpmailer中文乱码问题的解决方法
2014/04/22 PHP
PHP中error_log()函数的使用方法
2015/01/20 PHP
PHP通过加锁实现并发情况下抢码功能
2016/08/10 PHP
JavaScript中void(0)的具体含义解释
2007/02/27 Javascript
Js四则运算函数代码
2012/07/21 Javascript
javascript学习笔记之10个原生技巧
2014/05/21 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
2015/09/12 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
2015/11/02 Javascript
jQuery移动web开发中的页面初始化与加载事件
2015/12/03 Javascript
js中获取jsp表单中radio类型的值简单实例
2016/08/15 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
2016/12/04 Javascript
动态加载css方法实现和深入解析
2017/01/18 Javascript
分析JS中this引发的bug
2017/12/12 Javascript
vue拦截器实现统一token,并兼容IE9验证功能
2018/04/26 Javascript
vue实现键盘输入支付密码功能
2018/08/18 Javascript
微信小程序项目总结之记账小程序功能的实现(包括后端)
2019/08/20 Javascript
vue-amap根据地址回显地图并mark的操作
2020/11/03 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
[01:16:37]【全国守擂赛】第三周决赛 Dark Knight vs. 一个弱队
2020/05/04 DOTA
Python中的多行注释文档编写风格汇总
2016/06/16 Python
Python基于pandas实现json格式转换成dataframe的方法
2018/06/22 Python
pandas 根据列的值选取所有行的示例
2018/11/07 Python
python3.4+pycharm 环境安装及使用方法
2019/06/13 Python
python频繁写入文件时提速的方法
2019/06/26 Python
python批量修改ssh密码的实现
2019/08/08 Python
Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例
2020/03/03 Python
CSS3中Transition动画属性用法详解
2016/07/04 HTML / CSS
幼儿教师考核制度
2014/01/25 职场文书
外贸员简历中的自我评价
2014/03/04 职场文书
白血病募捐倡议书
2014/05/14 职场文书
任命书模板
2014/06/04 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
2015年秘书个人工作总结
2015/04/25 职场文书
导游词之云南丽江-泸沽湖
2019/09/26 职场文书
python ConfigParser库的使用及遇到的坑
2022/02/12 Python