关于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 相关文章推荐
做网页的一些技巧
Feb 01 Javascript
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
Apr 12 Javascript
关于COOKIE个数与大小的问题
Jan 17 Javascript
Javascript级联下拉菜单以及AJAX数据验证核心代码
May 10 Javascript
JavaScript异步回调的Promise模式封装实例
Jun 07 Javascript
JavaScript中的数组特性介绍
Dec 30 Javascript
Node.js连接MongoDB数据库产生的问题
Feb 08 Javascript
vue.js开发环境安装教程
Mar 17 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
Jul 19 Javascript
JS实现瀑布流布局
Oct 21 Javascript
重置Redux的状态数据的方法实现
Nov 18 Javascript
vue路由传参的基本实现方式小结【三种方式】
Feb 05 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
用Socket发送电子邮件(利用需要验证的SMTP服务器)
2006/10/09 PHP
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
2011/08/08 PHP
如何使用PHP计算上一个月的今天
2013/05/23 PHP
ucenter通信原理分析
2015/01/09 PHP
php用户名的密码加密更安全的方法
2019/06/21 PHP
XHTML-Strict 内允许出现的标签
2006/12/11 Javascript
JavaScript 变量作用域分析
2011/07/04 Javascript
javascript模拟地球旋转效果代码实例
2013/12/02 Javascript
Nodejs中session的简单使用及通过session实现身份验证的方法
2016/02/04 NodeJs
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
2017/08/22 Javascript
vue二级路由设置方法
2018/02/09 Javascript
深入理解移动前端开发之viewport
2018/10/19 Javascript
微信小程序 确认框的实现(附代码)
2019/07/23 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
2020/12/10 Javascript
Django中模型Model添加JSON类型字段的方法
2015/06/17 Python
Python变量和字符串详解
2017/04/29 Python
Django中Model的使用方法教程
2018/03/07 Python
Python 中的range(),以及列表切片方法
2018/07/02 Python
python使用scrapy发送post请求的坑
2018/09/04 Python
Python中垃圾回收和del语句详解
2018/11/15 Python
Python3从零开始搭建一个语音对话机器人的实现
2019/08/23 Python
django API 中接口的互相调用实例
2020/04/01 Python
基于Python的Jenkins的二次开发操作
2020/05/12 Python
Python基于pillow库实现生成图片水印
2020/09/14 Python
重构Python代码的六个实例
2020/11/25 Python
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
LINUX下线程,GDI类的解释
2012/04/17 面试题
学前教育学生自荐信范文
2013/12/31 职场文书
优秀士兵先进事迹
2014/02/06 职场文书
业务员简历自我评价
2014/03/06 职场文书
就业协议书范本
2014/10/08 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
个人党性锻炼总结
2015/03/05 职场文书
会计稽核岗位职责
2015/04/13 职场文书
慰问信的写作格式及范文!
2019/06/24 职场文书
Pytorch中的数据集划分&正则化方法
2021/05/27 Python