window.parent,top,window.self,parent,opener

在應用有frameset或者iframe的頁面時,parent是父窗口,top是最頂級父窗口(有的窗口中套了好幾層frameset或者iframe),self是當前窗口, opener是用open方法打開當前窗口的那個窗口。javascript

window.selfhtml

功能:是對當前窗口自身的引用。它和window屬性是等價的。java

語法:window.self瀏覽器

注:window、self、window.self是等價的。框架

window.topjsp

功能:返回頂層窗口,即瀏覽器窗口。orm

語法:window.tophtm

注:若是窗口自己就是頂層窗口,top屬性返回的是對自身的引用。對象

window.parentip

功能:返回父窗口。

語法:window.parent

注:若是窗口自己是頂層窗口,parent屬性返回的是對自身的引用。

在框架網頁中,通常父窗口就是頂層窗口,但若是框架中還有框架,父窗口和頂層窗口就不必定相同了。

判斷當前窗口是否在一個框架中:

<script type="text/javascript"> var b = window.top!=window.self; document.write( "當前窗口是否在一個框架中:"+b ); </script>

你應當將框架視爲窗口中的不一樣區域,框架是瀏覽器窗口中特定的部分。一個瀏覽器窗口能夠根據你的須要分紅任意多的框架,一個單個的框架也能夠分紅其它多個框架,即所謂的嵌套框架。

js中opener和parent的區別 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> </htmlwindow.opener 返回的是建立當前窗口的那個窗口的引用,好比點擊了a.htm上的一個連接而打開了b.htm,而後咱們打算在b.htm上輸入一個值而後賦予a.htm上的一個id爲「name」的textbox中,就能夠

寫爲: window.opener.document.getElementByIdx_x_x("name").value = "輸入的數據";

常見的誤區: 父頁面 window.open( 'open.jsp?City= '+strCity, ' ', 'width=252, height=100, scrollbars=no '); 子頁面open.jsp window.parent.maplet.clean(); 報錯爲window.parent.maplet爲空或不是對象! 什麼緣由呢?別的沒有問題! 錯誤緣由: window.parent 表示當前框架的父框架, 若是子窗口不在框架中,那麼就爲空, 不是表示子窗口和父窗口的關係, 是框架之間的關係。 若是子窗口不在框架中,即經過A.html的一個連接打開的 B.html頁面,在B.html引用A.html的表單元素時,能夠這樣寫: window.opener.document.formname.maplet 其中formname是你父窗口中form的名字

相關文章
相關標籤/搜索