关于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 checkbox 全选/反选及批量删除
Apr 28 Javascript
$.each遍历对象、数组的属性值并进行处理
Jul 18 Javascript
node.js中的fs.statSync方法使用说明
Dec 16 Javascript
input输入框鼠标焦点提示信息
Mar 17 Javascript
javascript编写贪吃蛇游戏
Jul 07 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
Nov 03 Javascript
JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
Mar 25 Javascript
vue.js如何更改默认端口号8080为指定端口的方法
Jul 14 Javascript
详解webpack 打包文件体积过大解决方案(code splitting)
Apr 10 Javascript
微信小程序--特定区域滚动到顶部时固定的方法
Apr 28 Javascript
vue路由教程之静态路由
Sep 03 Javascript
vue element 关闭当前tab 跳转到上一路由操作
Jul 22 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版本到PHP7
2015/02/06 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
PHP扩展程序实现守护进程
2015/04/16 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
在WordPress中实现发送http请求的相关函数解析
2015/12/29 PHP
PHP的Json中文处理解决方案
2016/09/29 PHP
PHP控制反转(IOC)和依赖注入(DI)
2017/03/13 PHP
一实用的实现table排序的Javascript类库
2007/09/12 Javascript
ExtJS下 Ext.Direct加载和提交过程排错小结
2013/04/02 Javascript
自动最大化窗口的Javascript代码
2013/05/22 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
JS.elementGetStyle(element, style)应用示例
2013/09/24 Javascript
append和appendTo的区别以及appendChild用法
2013/12/24 Javascript
JQuery与JS里submit()的区别示例介绍
2014/02/17 Javascript
js的window.showModalDialog及window.open用法实例分析
2015/01/29 Javascript
JavaScript函数作用域链分析
2015/02/13 Javascript
js获取滚动距离的方法
2015/05/30 Javascript
基于jquery实现人物头像跟随鼠标转动
2015/08/23 Javascript
解决jQuery上传插件Uploadify出现Http Error 302错误的方法
2015/12/18 Javascript
AngularJS实现网站换肤实例
2021/02/19 Javascript
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
2017/04/13 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
React实现全局组件的Toast轻提示效果
2018/09/21 Javascript
浅析CSS3 中的 transition,transform,translate之间区别和作用
2020/03/26 HTML / CSS
使用HTML5的表单验证的简单示例
2015/09/09 HTML / CSS
纯HTML5+CSS3制作生日蛋糕(代码易懂)
2016/11/16 HTML / CSS
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
会计电算化个人自我评价
2013/11/17 职场文书
建筑经济管理专业求职信分享
2014/01/06 职场文书
小学母亲节活动方案
2014/03/14 职场文书
感谢信格式范文
2015/01/22 职场文书
幼儿园2015年度工作总结
2015/04/01 职场文书
2015年医院药剂科工作总结
2015/05/04 职场文书
幼儿园开学家长寄语(2015秋季)
2015/05/27 职场文书
CSS3点击按钮圆形进度打钩效果的实现代码
2021/03/30 HTML / CSS
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL