昨天項目遇到的問題:取上級window窗口對象時,傻傻分不清楚!你能分清楚嗎?
當我們在瀏覽器中打開一個網(wǎng)頁時,瀏覽器都會創(chuàng)建一個窗口對象,這個窗口就是一個window對象。也就是Js生存依附的全局環(huán)境對象和全局作用域?qū)ο蟆?/p>
1.Self 指當前窗口頁面,就是window對象
例如:Self.close()和window.close()一樣。
2.Top表示最頂層的一個窗口頁面
最頂層頁面===》父頁面===》子頁面,self.top就代表其中的最頂層頁面,相當于子頁面的祖父。
self.top 等于self.parent.parent
3.Parent在進行父頁面訪問時使用
parent用于在iframe框架頁中,frame框架頁中生成的子頁面中訪問父頁面的對象。例如:A頁面中有一個iframe或frame,那么iframe或frame中的頁面就可以通過parent對象來引用A頁面中的對象。這樣就可以獲取或返回值到A頁面中。
4.Opener在進行父頁面引用時使用
opener用于在window.open打開的頁面引用執(zhí)行window.open方法的的上級頁面的對象。例如:A頁面通過window.open()方法彈出了B頁面,在B頁面中就可以通過opener來引用A頁面,這樣就可以通過這個對象來對A頁面進行操作。
window.opener.location.reload(); //子窗口刷新父窗口window.opener.location.href //獲取父窗口hrefwindow.opener.locaiton.pathname //獲取父窗口路徑名//刷新父頁面window.location.href=window.location.href ; //重新定位父頁面window.location.reload;
parent與opener的區(qū)別:parent是相對于框架來說父窗口對象 opener是針對于用window.open打開的窗口來說的父窗口,前提是window.open打開的才有。
 如下: parent.frame1.document.forms[0].elements[0].value;
如下: parent.frame1.document.forms[0].elements[0].value; 
取父窗口的元素方法:$(selector, window.parent.document);
("#父窗口元素ID",window.parent.document); 對應javascript的代碼:window.parent.document.getElementByIdx_x("父窗口元素ID");
新聞熱點
疑難解答