window.opener是js中window的一个属性,它返回的是打开当前窗口的窗口对象.如果窗口A弹出一个窗口B,那么在B中window.opener就是窗口对象A.
这是JAVASCRIPT参考手册里对于opener的描述
当一个窗口用open方法打开了一个新窗口的时候,opener属性就生效了,直到被打开的窗口关闭时失效.
你可以通过opener在被打开的窗口中对父窗口进行一系列操作.
你可以在一个窗口中打开一个新窗口,新窗口又打开另外一个新窗口,新窗口又打开另外一个新窗口.....最后得到的是一串新窗口,然而每一个窗口的opener属性都指向打开它的那个窗口.
设计者最多允许打开100个这样的窗口.当你通过open打开了一个新窗口后,确保在新窗口中将opener属性设置为null(空).如果不这样的话,会使浏览器持续的保留每个opener的值,直至资源耗尽.
JS参考手册还给出了几个例子,我把我理解的部分演示一下~
首先建立1.htm,它用open方法打开2.htm,代码如下
<script language="JavaScript">
window.open('2.htm', ', 'width=225,height=235,resizable=1,scrollbars=auto');
建立2.htm,写入这些
<script language="JavaScript">
function ccc()
{
window.opener.document.bgColor='red';
}
function xxx()
{
window.opener.document.location='http://angel1949.blogcn.co...
}
<input type="submit" name="Submit" value="变色" onClick="ccc()">
<input type="submit" name="Submit1" value="转向" onClick="xxx()">
打开1.htm我们会看到弹出的2.htm,点击2.htm中第一个按钮,1.htm的背景颜色变为了红色,点第二个按钮,1.htm被重定向到了指定的网址.这里通过2.htm来控制1.htm的行为正是利用了opener.
JS参考手册的描述中一再强调open动作完成后将opener设置为空,也就是window.opener=null,但是哪也没说它有关闭窗口时不提示这么个用法啊.比较前篇中父子窗口自动关闭的代码会发现,子窗口中是不需要把window.opener设置为空也可以无提示自动关闭的,而父窗口必须有这一句.关于window.opener在无提示关闭窗口的作用,是不是可以这么解释,浏览器认为子窗口与父窗口的优先级是不同的,子窗口可以随意关闭而父窗口可能有比较重要的内容而需要用户同意才可以关闭;当window.opener=null的时候,父窗口失去了原来的优先级,被浏览器认为是一个普通的窗口,所以可以象子窗口一样不需要提示而自动关闭了
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Foggia/archive/2007/01/21/1489206.aspx
注意:在使用时window.opener和window.parent的区别
opener即谁打开我的,比如A页面利用window.open弹出了B页面窗口,那么A页面所在窗口就是B页面的opener,在B页面通过opener对象可以访问A页面。
parent表示父窗口,比如一个A页面利用iframe或frame调用B页面,那么A页面所在窗口就是B页面的parent。
window.parent能获取一个框架的父窗口或父框架。顶层窗口的parent引用的是它本身。
在JS中,window.opener只是对弹出窗口的母窗口的一个引用。比如:
a.html中,通过点击按钮等方式window.open出一个新的窗口b.html。那么在b.html中,就可以通过window.opener(省略写为opener)来引用a.html,包括a.html的document等对象,操作a.html的内容。假如这个引用失败,那么将返回null。所以在调用opener的对象前,要先判断对象是否为null,否则会出现“对象为空或者不存在”的JS错误。
window.opener 返回的是创建当前窗口的那个窗口的引用,比如点击了a.htm上的一个链接而打开了b.htm,然后我们打算在b.htm上输入一个值然后赋予a.htm上的一个id为“name”的textbox中,就可以写为:
window.opener.document.getElementById("name").value = "输入的数据";
更多详细内容请查看:http://www.111cn.net/wy/99/f046d20386b748218a96b0a3bfc45f3b.htm
分享到:
相关推荐
在JavaScript中,`window`对象是全局对象,它包含了与浏览器窗口相关的各种属性和方法。在给定的标题和描述中,我们重点关注了几个与窗口位置和大小相关的属性:`window.screenX`、`window.screenY`。这些属性分别...
在JavaScript的世界里,`window`对象是全局对象,它提供了与浏览器窗口进行交互的各种方法和属性。本篇文章将深入探讨`window.open()`、`window.opener`、`window.name`以及`window`对象的一些核心概念,同时通过两...
JavaScript中的WINDOW对象是JavaScript在浏览器环境中访问和操作浏览器窗口的核心对象。它包含了与浏览器窗口相关的所有属性和方法,使得开发者能够实现对窗口的各种控制,如打开新的窗口、更改窗口尺寸、滚动内容...
Window对象在Web开发中扮演着至关重要的角色,它是JavaScript中全局对象的一个实例,几乎所有的其他JavaScript对象都是Window对象的后代。了解并熟练掌握Window对象的方法和属性,可以帮助开发者编写出性能更高、更...
一、window.opener属性 `window.opener`是JavaScript中的一个内置属性,它引用了创建当前窗口的窗口对象。如果当前窗口是通过`window.open()`方法打开的,那么`window.opener`就指向了那个调用`window.open()`的...
根据提供的文件信息,这是一篇关于JavaScript中的window对象及其方法的文档。window对象是Web浏览器中的一个全局对象,它代表了浏览器窗口本身,是JavaScript中的最顶级对象。以下是关于window对象及其相关方法的...
1. 使用`window.open`打开的新窗口中设置一个`window.opener`属性,这样新窗口可以与打开它的窗口进行通信。 2. 在新窗口中处理用户交互后,使用`window.close`关闭窗口,并在关闭前将结果通过`window.opener`通知原...
在Window对象的属性中,"innerHeight"和"innerWidth"属性分别返回浏览器窗口内部的高和宽,包括滚动条和工具栏等;"pageXOffset"和"pageYOffset"属性分别返回页面水平和垂直滚动的距离,这些属性常用于动态调整页面...
### 关于JS Window对象的方法和属性详解 #### 概述 在JavaScript中,`window`对象是最顶层的对象,几乎所有的全局变量、函数等都属于它。`window`对象提供了多种方法和属性,使得开发者能够更好地控制浏览器窗口的...
"js_Window对象及方法" window 对象是客户端 JavaScript 最高层对象之一,只要打开浏览器窗口,不管该窗口中是否有打开的网页,当遇到 BODY、FRAMESET 或 FRAME 元素时,都会自动建立 window 对象的实例。另外,该...
在 JavaScript 中,document 对象和 window 对象是两个非常重要的对象,它们都是 Window 对象的属性,用于描述当前显示的文档和浏览器窗口。 document 对象 document 对象是 Window 对象的一个属性,它描述了当前...
JavaScript中的`window`对象是全局对象,它代表了浏览器的窗口。`window`对象拥有许多属性和方法,这些属性和方法允许开发者与浏览器窗口进行交互,控制页面的行为和外观。以下是对标题和描述中提到的一些关键知识点...
在JavaScript编程中,window对象是非常核心的一个部分,它代表了浏览器窗口,并且具有很多重要属性和方法,可以用来操作浏览器窗口的各种行为。其中,top、parent、opener是window对象的三个重要属性,它们在页面间...
### JavaScript中的Window对象详解 #### 一、概述 在JavaScript中,`Window`对象是所有浏览器操作的基础。它是全局对象,也是顶级对象。通常我们提到的`window`就是指当前浏览器窗口。`Window`对象拥有许多属性和...
JavaScript中的`window.open()`和`window.opener`是两个与窗口操作密切相关的属性和方法,它们在网页交互和页面导航中扮演着重要角色。本文将深入探讨这两个特性以及它们在处理支付成功页面跳转时的应用。 `window....
### JavaScript的document和window对象详解 #### Document对象 在JavaScript中,`document`对象是`window`和`frames`对象的一个属性,它表示显示在窗口或框架内的HTML文档。通过这个对象,开发者能够访问和操作...
`window.opener`是一个特殊的属性,它引用了打开当前窗口的窗口对象。如果一个窗口是另一个窗口的弹出窗口,或者是在框架集中的子窗口,那么`opener`属性可以用来与创建它的父窗口进行通信。 **一、打开新窗口** ...