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实现隔行换色
Jan 04 Javascript
jQuery选择器源码解读(五):tokenize的解析过程
Mar 31 Javascript
JavaScript中的getDay()方法使用详解
Jun 09 Javascript
javascript动画算法实例分析
Jul 31 Javascript
javascript中alert()与console.log()的区别
Aug 26 Javascript
jQuery Validate初步体验(一)
Dec 12 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
Jan 19 Javascript
JS实现中国公民身份证号码有效性验证
Feb 20 Javascript
SVG描边动画
Feb 23 Javascript
jQuery 改变P标签文本值方法
Feb 24 jQuery
浅谈Node新版本13.2.0正式支持ES Modules特性
Nov 25 Javascript
vue下canvas裁剪图片实例讲解
Apr 16 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
ThinkPHP打开验证码页面显示乱码的解决方法
2014/12/18 PHP
搭建基于Docker的PHP开发环境的详细教程
2015/07/01 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
JavaScript 动态改变图片大小
2009/06/11 Javascript
js 回车提交表单两种实现方法
2012/12/31 Javascript
js作用域及作用域链概念理解及使用
2013/04/15 Javascript
js去空格技巧分别去字符串前后、左右空格
2013/10/21 Javascript
在页面加载完成后通过jquery给多个span赋值
2014/05/21 Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
2016/07/21 Javascript
leaflet的开发入门教程
2016/11/17 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
angular1配合gulp和bower的使用教程
2018/01/19 Javascript
js实现移动端图片滑块验证功能
2020/09/29 Javascript
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
2013/11/15 Python
Python的函数嵌套的使用方法
2014/01/24 Python
实例说明Python中比较运算符的使用
2015/05/13 Python
Python使用正则表达式抓取网页图片的方法示例
2017/04/21 Python
Python模拟随机游走图形效果示例
2018/02/06 Python
python如何实现异步调用函数执行
2019/07/08 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
2019/09/26 Python
OpenCV+Python--RGB转HSI的实现
2019/11/27 Python
python_mask_array的用法
2020/02/18 Python
Python 实现平台类游戏添加跳跃功能
2020/03/27 Python
win10安装python3.6的常见问题
2020/07/01 Python
Html5实现单张、多张图片上传功能
2019/04/28 HTML / CSS
环境工程毕业生自荐信
2013/11/17 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
初三英语教学计划
2015/01/23 职场文书
给男朋友的道歉短信
2015/05/12 职场文书
小学生组织委员竞选稿
2015/11/21 职场文书
初中生物教学反思
2016/02/20 职场文书
导游词之麻姑仙境
2019/11/18 职场文书
react如何快速设置文件路径别名
2021/04/28 Javascript
VS2019连接MySQL数据库的过程及常见问题总结
2021/11/27 MySQL