45fan.com - 路饭网

搜索: 您的位置主页 > 电脑频道 > 编程代码 > 阅读资讯:使用JavaScript时如何实现子窗口调用父窗口变量和函数?

使用JavaScript时如何实现子窗口调用父窗口变量和函数?

2016-07-23 12:40:21 来源:www.45fan.com 【

使用JavaScript时如何实现子窗口调用父窗口变量和函数?

本文实例讲述了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程序设计有所帮助。


本文地址:http://www.45fan.com/bcdm/59614.html
Tags: JavaScript 窗口 变量
编辑:路饭网
推广内容
推荐阅读
热门推荐
推荐文章
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部