js opener,self,parent 區別

pc蛋蛋是一個積分換禮品平臺
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 = "輸入的數據";

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章