您的位置:首页 > Web前端 > JavaScript

js opener,self,parent 区别

2011-10-31 15:37 351 查看



opener:对打开当前窗口的window对象的引用,如果当前窗口已被用户打开,则opener的值为null.

self:自引用属性,是对当前window对象的应用,与window属性同义.

self代表自身窗口,opener代表打开自身的那个窗口,比如窗口A打开窗口B.如果靠window.open方法,则对于窗口B,self代表B自己,而opener代表窗口A.

opener即谁打开我的,比如A页面利用window.open弹出了B页面窗口,那么A页面所在窗口就是B页面的

opener,在B页面通过opener对象可以访问A页面。

parent表示父窗口,比如一个A页面利用iframe或frame调用B页面,那么A页面所在窗口就是B页面的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错误。


<html>

<body>

<form. name=form1>

<input type=text name=inpu >

<input type=button >

</form>

</body>

</html>


--------------------------------

back2opener.html

--------------------------------

<html>

<body>

<form. name=form1>

<input type=text name=inpu >


<a class=under href=# >添加</a>

</form>

</body>

</html>


window.opener 返回的是创建当前窗口的那个窗口的引用,比如点击了a.htm上的一个链接而打开了

b.htm,然后我们打算在b.htm上输入一个值然后赋予a.htm上的一个id为“name”的textbox中,就可以


写为:

window.opener.document.getElementById("name").value = "输入的数据";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: