关于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 js cookie的存储,获取和删除
Dec 29 Javascript
jQuery Selector选择器小结
May 06 Javascript
javascript学习之闭包分析
Dec 02 Javascript
基于jquery的图片轮播 tab切换组件
Jul 19 Javascript
jQuery源码中的chunker 正则过滤符分析
Jul 31 Javascript
通过$(this)使用jQuery包装后的方法或属性
May 18 Javascript
JS实现的仿淘宝交易倒计时效果
Nov 27 Javascript
JS实现的文字间歇循环滚动效果完整示例
Feb 13 Javascript
在vue里面设置全局变量或数据的方法
Mar 09 Javascript
在vscode里使用.vue代码模板的方法
Apr 28 Javascript
Vue中的作用域CSS和CSS模块的区别
Oct 09 Javascript
Javascript中async与await的捕捉错误详解
Mar 03 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
发现的以前不知道的函数
2006/09/19 Javascript
Firefox中beforeunload事件的实现缺陷浅析
2012/05/03 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
2014/11/23 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
AngularJS身份验证的方法
2016/02/17 Javascript
ajax在兼容模式下失效的快速解决方法
2016/03/22 Javascript
通过原生JS实现为元素添加事件的方法
2016/11/23 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
2017/03/02 Javascript
vue2组件实现懒加载浅析
2017/03/29 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
使用vue-router设置每个页面的title方法
2018/02/11 Javascript
webpack 插件html-webpack-plugin的具体使用
2018/04/09 Javascript
javascript实现小型区块链功能
2019/04/03 Javascript
JavaScript实现选项卡效果的分析及步骤
2019/04/16 Javascript
javascript导出csv文件(excel)的方法示例
2019/08/25 Javascript
详解基于element的区间选择组件校验(交易金额)
2021/01/07 Javascript
python数据结构之链表详解
2017/09/12 Python
对python list 遍历删除的正确方法详解
2018/06/29 Python
解决python3 urllib 链接中有中文的问题
2018/07/16 Python
python解析json串与正则匹配对比方法
2018/12/20 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
2019/06/19 Python
安装好Pycharm后如何配置Python解释器简易教程
2019/06/28 Python
对Python的交互模式和直接运行.py文件的区别详解
2019/06/29 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
HTML5实现签到 功能
2018/10/09 HTML / CSS
The Athlete’s Foot新西兰:新西兰最大的运动鞋零售商
2019/12/23 全球购物
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
搬家公司的创业计划书
2014/01/01 职场文书
文明美德伴我成长演讲稿
2014/05/12 职场文书
计算机应用应届生求职信
2014/07/12 职场文书
大学军训的体会
2014/11/08 职场文书
未中标通知书
2015/04/17 职场文书
遗嘱范文
2015/08/07 职场文书
车位出租协议书范本
2016/03/19 职场文书
浅谈pytorch中stack和cat的及to_tensor的坑
2021/05/20 Python