天天看點

window.parent與window.opener的差別

今天看了公司的開發庫,發覺裡面的人有時候濫用這兩個東東,覺得有必要整理一下

window.parent: iframe頁面調用父頁面對象

a.html

<html>

<head><title>父頁面</title></head>

<body>

<form name="form1" id="form1">

<input type="text" name="username" id="username"/>

</form>

<iframe src="b.html" width=100%></iframe>

</body>

</html>

如果我們需要在b.htm中要對a.htm中的username文本框指派,就如很多上傳功能,上傳功能頁在Ifrmae中,上傳成功後把上傳後的路徑放入父頁面的文本框中

我們應該在b.html中寫

<script

type="text/javascript">

var _parentWin = window.parent ;

_parentWin.form1.username.value = "xxxx" ;

</script>

window.opener 是window.open 打開的子頁面調用父頁面對象

opener:對打開目前視窗的window對象的引用,如果目前視窗被使用者打開,則它的值為null.

self:自引用屬性,是對目前window對象的應用,與window屬性同義.

self代表自身視窗,opener代表打開自身的那個視窗,

比如視窗A打開視窗B,對于視窗B,self代表B自己,而opener代表視窗A.

繼續閱讀