关于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 相关文章推荐
从零开始学习jQuery (三) 管理jQuery包装集
Feb 23 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
Nov 27 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
Aug 12 Javascript
解决jQuery uploadify在非IE核心浏览器下无法上传
Aug 05 Javascript
jQuery File Upload文件上传插件使用详解
Dec 06 Javascript
一道面试题引发的对javascript类型转换的思考
Mar 06 Javascript
解决vue-cli + webpack 新建项目出错的问题
Mar 20 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
Apr 09 Javascript
angular4中引入echarts的方法示例
Jan 29 Javascript
基于layui实现高级搜索(筛选)功能
Jul 26 Javascript
vue+koa2实现session、token登陆状态验证的示例
Aug 30 Javascript
jQuery实现二级导航菜单的示例
Sep 30 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网站安装程序制作的原理、步骤、注意事项和示例代码
2010/08/01 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
2014/09/29 PHP
PHP中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
PHP中的使用curl发送请求(GET请求和POST请求)
2017/02/08 PHP
PHP多维数组指定多字段排序的示例代码
2018/05/16 PHP
php中的explode()函数实例介绍
2019/01/18 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
jquery删除指定子元素代码实例
2015/01/13 Javascript
Javascript基础学习笔记(菜鸟必看篇)
2016/07/22 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
2017/01/05 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
详解node服务器中打开html文件的两种方法
2017/09/18 Javascript
一个简易时钟效果js实现代码
2020/03/25 Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
2018/09/30 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
2020/10/21 Javascript
JQuery绑定事件四种实现方法解析
2020/12/02 jQuery
前端如何实现动画过渡效果
2021/02/05 Javascript
跟老齐学Python之编写类之三子类
2014/10/11 Python
Python实现批量将word转html并将html内容发布至网站的方法
2015/07/14 Python
python搭建虚拟环境的步骤详解
2016/09/27 Python
Python标准模块--ContextManager上下文管理器的具体用法
2017/11/27 Python
Django中间件工作流程及写法实例代码
2018/02/06 Python
Python连接Redis的基本配置方法
2018/09/13 Python
Python 实现文件打包、上传与校验的方法
2019/02/13 Python
python文件选择对话框的操作方法
2019/06/27 Python
python RC4加密操作示例【测试可用】
2019/09/26 Python
Python Tkinter Entry和Text的添加与使用详解
2020/03/04 Python
详解pandas映射与数据转换
2021/01/22 Python
正宗的日本零食和糖果订阅盒:Bokksu
2019/11/21 全球购物
Eclipse面试题
2014/03/22 面试题
保护动物的标语
2014/06/11 职场文书
对照检查剖析材料
2014/09/30 职场文书
2014年工程部工作总结
2014/11/25 职场文书
大学生就业推荐表自我评价
2015/03/02 职场文书
Vue ECharts实现机舱座位选择展示功能
2022/05/15 Vue.js