JavaScript子窗口调用父窗口变量和函数的方法


Posted in Javascript onOctober 09, 2015

本文实例讲述了JavaScript子窗口调用父窗口变量和函数的方法。分享给大家供大家参考。具体如下:

示例1:子窗口是新打开的窗口

父窗口:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
  <title>parent</title>
  <script type="text/javascript">
    var parentPara='parent';
    function parentFunction() {
      alert(parentPara);
    }
  </script>
</head>
<body>
  <button onclick="parentFunction()">显示变量值</button>
  <button onclick="window.open('child.html')">打开新窗口</button>
</body>
</html>

子窗口:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
  <title>child</title>
  <script type="text/javascript">
    function modify() {
      opener.parentPara='child';
    }
  </script>
</head>
<body>
  <button onclick="opener.parentFunction()">调用父页面的方法</button>
  <button onclick="modify()">更改父页面中变量的值</button> 
</body>
</html>

只要在变量和函数前面加opener就可以访问指定资源了。

但是当父窗口被关闭时,再如此使用会报一个错:"被调用的对象已与其客户端断开连接。"

示例2:子页面是父页面的一个iframe

父页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
  <title>parent</title>
  <script type="text/javascript">
    function fill() {
      //alert(frame1.window.childPara);  //显示frame1内的变量值
      var str=document.getElementById('txt1').value; //获得文本框内输入的值
      frame1.window.div1.innerHTML=str; //将值填入子页面的一个div中
    }
  </script>
</head>
<body>
  <div style="background-color:yellow;width:300px;height:300px;">
    父页面
    <iframe id="frame1" src="child.html" frameborder="0" scrolling="no" width="120px" height="120px"></iframe>
    <br/><br/><br/><br/>
    <input id="txt1" type="text"/>
    <button onclick="fill()">将文本框内值填充入子界面</button>
  </div>
</body>
</html>

子页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
  <title>child</title>
  <script type="text/javascript">
    function fun() {
      parent.fill();
    }
  </script>
</head>
<body>
  <div style="background-color:lightblue;width:100px;height:100px;">
    <b>子页面</b><br/>
    <a href="#" onclick="fun()">同父页面按钮</a>
    <div id="div1" style="color:red;">
    </div>
  </div>
</body>
</html>

小发现:刷新父页面时,其中的iframe也会随之刷新;刷新iframe时,父页面不会刷新。

希望本文所述对大家的JavaScript程序设计有所帮助。

Javascript 相关文章推荐
Javascript的匿名函数小结
Dec 31 Javascript
一个原生的用户等级的进度条
Jul 03 Javascript
兼容IE和FF的图片上传前预览js代码
May 28 Javascript
JavaScript函数详解
Nov 17 Javascript
jquery中map函数遍历数组用法实例
May 18 Javascript
基于jquery实现鼠标左右拖动滑块滑动附源码下载
Dec 23 Javascript
JS弹出窗口插件zDialog简单用法示例
Jun 12 Javascript
Backbone中View之间传值的学习心得
Aug 09 Javascript
详解JS中遍历语法的比较
Apr 07 Javascript
Vue制作Todo List网页
Apr 26 Javascript
Node.js+jade抓取博客所有文章生成静态html文件的实例
Sep 19 Javascript
详解开发react应用最好用的脚手架 create-react-app
Apr 24 Javascript
js中unicode转码方法详解
Oct 09 #Javascript
chrome浏览器当表单自动填充时如何去除浏览器自动添加的默认样式
Oct 09 #Javascript
PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
Oct 09 #Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
Oct 09 #Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
Oct 09 #Javascript
jQuery往返城市和日期查询实例讲解
Oct 09 #Javascript
JS实现黑色风格的网页TAB选项卡效果代码
Oct 09 #Javascript
You might like
用PHP 4.2书写安全的脚本
2006/10/09 PHP
MySQL相关说明
2007/01/15 PHP
php仿discuz分页效果代码
2008/10/02 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
微信小程序 消息推送php服务器验证实例详解
2017/03/30 PHP
php递归函数怎么用才有效
2018/02/24 PHP
在Javascript中定义对象类别
2006/12/22 Javascript
htm调用JS代码
2007/03/15 Javascript
自己动手开发jQuery插件教程
2011/08/25 Javascript
iframe子页面与父页面在同域或不同域下的js通信
2014/05/07 Javascript
跟我学习javascript的this关键字
2020/05/28 Javascript
原生JS实现拖拽图片效果
2020/08/27 Javascript
JavaScript通过filereader接口读取文件
2017/05/10 Javascript
layui 表格操作列按钮动态显示的实现方法
2019/09/06 Javascript
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
微信小程序静默登录的实现代码
2020/01/08 Javascript
谈谈node.js中的模块系统
2020/09/01 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
让python json encode datetime类型
2010/12/28 Python
Python3远程监控程序的实现方法
2019/07/15 Python
python 表格打印代码实例解析
2019/10/12 Python
Python操作Sqlite正确实现方法解析
2020/02/05 Python
Python-jenkins模块获取jobs的执行状态操作
2020/05/12 Python
Python rabbitMQ如何实现生产消费者模式
2020/08/24 Python
Alba Moda德国网上商店:意大利时尚女装销售
2016/11/14 全球购物
End Clothing美国站:英国男士潮牌商城
2018/04/20 全球购物
台湾时尚彩瞳专门店:imeime
2019/08/16 全球购物
澳洲最大的时尚奢侈品电商平台:Cettire
2020/06/15 全球购物
大学生应聘求职信
2014/05/26 职场文书
2014年国庆标语
2014/06/30 职场文书
活动总结格式
2014/08/30 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
董存瑞观后感
2015/06/11 职场文书
小学感恩主题班会
2015/08/12 职场文书
python实现的人脸识别打卡系统
2021/05/08 Python
Python编程中内置的NotImplemented类型的用法
2022/03/23 Python