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实现无刷新更新数据的详细步骤 asp
Dec 26 Javascript
javascript 写的一个简单的timer
Jul 30 Javascript
页面中iframe相互传值传参
Dec 13 Javascript
jquery事件与函数的使用介绍
Sep 29 Javascript
浅析Node.js查找字符串功能
Sep 03 Javascript
AngularJS 指令的交互详解及实例代码
Sep 14 Javascript
简单谈谈Javascript函数中的arguments
Feb 09 Javascript
socket.io学习教程之基础介绍(一)
Apr 29 Javascript
监听element-ui table滚动事件的方法
Mar 26 Javascript
javascript实现简易聊天室
Jul 12 Javascript
vue 实现setInterval 创建和销毁实例
Jul 21 Javascript
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
Nov 07 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读MYSQL中文乱码的解决方法
2006/12/17 PHP
如何解决CI框架的Disallowed Key Characters错误提示
2013/07/05 PHP
Laravel修改验证提示信息为中文的示例
2019/10/23 PHP
javascript EXCEL 操作类代码
2009/07/30 Javascript
js内置对象 学习笔记
2011/08/01 Javascript
仿jQuery的siblings效果的js代码
2011/08/09 Javascript
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
JavaScript中的acos()方法使用详解
2015/06/14 Javascript
JS验证IP,子网掩码,网关和MAC的方法
2015/07/02 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
2015/08/04 Javascript
JavaScript编程的单例设计模讲解
2015/11/10 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
详细总结Javascript中的焦点管理
2016/09/17 Javascript
jQuery EasyUI常用数据验证汇总
2016/09/18 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
js原生实现FastClick事件的实例
2016/11/20 Javascript
浅谈Vue的加载顺序探讨
2017/10/25 Javascript
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
js实现三角形粒子运动
2020/09/22 Javascript
[00:35]2016完美“圣”典风云人物:冷冷宣传片
2016/12/08 DOTA
python快速排序代码实例
2013/11/21 Python
Python 中 Meta Classes详解
2016/02/13 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
2017/08/31 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
python 实现list或string按指定分段
2019/12/25 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
2020/03/06 Python
python GUI框架pyqt5 对图片进行流式布局的方法(瀑布流flowlayout)
2020/03/12 Python
python matplotlib imshow热图坐标替换/映射实例
2020/03/14 Python
使用python把xmind转换成excel测试用例的实现代码
2020/10/12 Python
Python爬虫之Selenium实现窗口截图
2020/12/04 Python
JAVA中的关键字有什么特点
2014/03/07 面试题
车间主任岗位职责
2014/03/16 职场文书
抽样调查项目计划书
2014/04/24 职场文书
群众路线教育实践活动学习心得体会
2014/10/30 职场文书
HTML+CSS 实现顶部导航栏菜单制作
2021/06/03 HTML / CSS