关于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定义类和对象的几种方式
Nov 09 Javascript
jQuery数据显示插件整合实现代码
Oct 24 Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
Oct 24 Javascript
Jquery中&quot;$(document).ready(function(){ })&quot;函数的使用详解
Dec 30 Javascript
jQuery过滤选择器经典应用
Aug 18 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
Apr 22 Javascript
浅谈Angular 中何时取消订阅
Nov 22 Javascript
vuex actions异步修改状态的实例详解
Nov 06 Javascript
vue 组件销毁并重置的实现
Jan 13 Javascript
JavaScript实现飞舞的泡泡效果
Feb 07 Javascript
原生js实现碰撞检测
Mar 12 Javascript
javascript对象3个属性特征
Nov 17 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
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
2020/03/18 PHP
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
Jquery 1.42 checkbox 全选和反选代码
2010/03/27 Javascript
高性能JavaScript循环语句和条件语句
2016/01/20 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
JQuery validate插件Remote用法大全
2016/05/15 Javascript
jQuery使用animate实现ul列表项相互飘动效果示例
2016/09/16 Javascript
微信小程序 地图(map)实例详解
2016/11/16 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
不使用JavaScript实现菜单的打开和关闭效果demo
2018/05/01 Javascript
微信小程序自定义toast组件的方法详解【含动画】
2019/05/11 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
基于JavaScript实现十五拼图代码实例
2020/04/26 Javascript
python模拟新浪微博登陆功能(新浪微博爬虫)
2013/12/24 Python
Python的__builtin__模块中的一些要点知识
2015/05/02 Python
使用SAE部署Python运行环境的教程
2015/05/05 Python
通过mod_python配置运行在Apache上的Django框架
2015/07/22 Python
实例讲解Python设计模式编程之工厂方法模式的使用
2016/03/02 Python
django使用html模板减少代码代码解析
2017/12/12 Python
python cs架构实现简单文件传输
2020/03/20 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
Python解决线性代数问题之矩阵的初等变换方法
2018/12/12 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
Python+Kepler.gl实现时间轮播地图过程解析
2020/07/20 Python
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
国外软件测试工程师面试题
2016/12/09 面试题
如何反序的迭代一个序列?how do I iterate over a sequence in reverse order
2012/02/04 面试题
精彩的推荐信范文
2013/11/26 职场文书
秋季运动会表扬稿
2014/01/16 职场文书
教师个人自我鉴定
2014/02/08 职场文书
社区敬老月活动实施方案
2014/02/17 职场文书
2014年党支部承诺书
2014/05/30 职场文书
2014年学校卫生工作总结
2014/11/20 职场文书
古诗之爱国古诗5首
2019/09/20 职场文书
Golang gRPC HTTP协议转换示例
2022/06/16 Golang