視窗關係以及框架

2021-09-01 12:15:14 字數 2851 閱讀 6777

top物件:始終指向最高(最外)層的框架,也就是瀏覽器視窗。

window物件:指向的是哪個框架的特定例項。

parent(父)物件:始終指向當前框架的直接上層框架。

self物件:始終指向window,實際上,self和window物件可以互換使用。

所有這些物件都是window物件,可以通過window.parent、window.top等形式訪問。同時,這也意味著可以將不同層次的window物件連綴起來,例如:window.parent.parent.frames[0].

頁面的結構圖:

以下**是在aptana中執行的,注意如果window.onload中寫js**的作用是保證已經載入完所有框架。

frameset.html

frame.html

anothe***me.html

anothe***me.html

yetanothe***me.html

yetanothe***me.html

subfameleft.html

subfameleft.html

window.open():

既可以導航到乙個特定的url,也可以開啟乙個新的瀏覽器視窗。

這個方法接受四個引數:

要載入的url、

視窗目標、

乙個特定字串

乙個表示新頁面是否取代瀏覽器歷史記錄中當前載入頁面的布林。

引數2可以是乙個視窗或框架的名稱或者是下列任意乙個特殊的視窗名稱:_self、_parent、_top或者_blank。詳細解析如下:

解釋引數2的**都是寫在subfameleft.html中

以下二者效果相同,即執行frameset.html頁面時,整個頁面是的內容

window.open("","_top");
top.location.href = "";
以下二者效果相同,即執行frameset.html頁面時,在frame的位置顯示的內容

parent.location.href = "";
window.open("","_parent");
以下效果相同:當執行frameset.html頁面時,在subfameleft位置顯示的內容

self.location.href = "";
window.location.href = "";
window.open("","_self");
當執行frameset.html頁面時,彈出乙個新視窗

window.open("","_blank");
引數3:如果第二個引數並不是乙個已經存在視窗或者框架,那麼該方法就會根據在第三個引數位置上傳入的字串建立乙個新視窗或者標籤頁。如果沒有傳入引數3,那麼就會開啟乙個帶有全部預設設定(工具欄、位址列和狀態列)的新瀏覽器視窗,在不開啟新視窗的情況下,會忽略引數3,引數3是乙個逗號分割的鍵值對(=鏈結鍵值對)的字串。

channelmode=yes|no|1|0

是否使用劇院模式顯示視窗。預設為 no。

directories=yes|no|1|0

是否新增目錄按鈕。預設為 yes。

fullscreen=yes|no|1|0

是否使用全屏模式顯示瀏覽器。預設是 no。處於全屏模式的視窗必須同時處於劇院模式。

height=pixels

視窗文件顯示區的高度。以畫素計。

left=pixels

視窗的 x 座標。以畫素計。

location=yes|no|1|0

是否顯示位址字段。預設是 yes。

menubar=yes|no|1|0

是否顯示選單欄。預設是 yes。

resizable=yes|no|1|0

視窗是否可調節尺寸。預設是 yes。

scrollbars=yes|no|1|0

是否顯示滾動條。預設是 yes。

status=yes|no|1|0

是否新增狀態列。預設是 yes。

titlebar=yes|no|1|0

是否顯示標題欄。預設是 yes。

*******=yes|no|1|0

是否顯示瀏覽器的工具欄。預設是 yes。

top=pixels

視窗的 y 座標。

width=pixels

視窗的文件顯示區的寬度。以畫素計。

例如:

window.open("","_blank","height=400,width=400,top=10,left=10,resizeable=yes");
window.open()方法返回乙個指向新視窗的引用,我們可以通過它對新視窗進行控制。

var wroxwin = window.open("","_blank","height=400,width=400,top=10,left=10,resizeable=yes");
新建立的window物件有乙個opener屬性,其中儲存著開啟它的原始視窗物件。

判斷彈出視窗是否被遮蔽

var blocked = false;

try}catch(ex)

if(blocked)

windows視窗關係

乙個視窗有很多方式關聯到使用者或者其它的視窗。乙個視窗可能是 自有視窗?前景視窗或者背景視窗。乙個視窗總有乙個 z序 用以關聯到其它視窗。什麼是 z序 下面會簡單的敘述一下 每個程序可以有多個可執行的執行緒。每個執行緒都可以建立視窗。乙個執行緒建立的了乙個視窗,並且這個視窗時使用者正在工作和使用的,...

Windows視窗關係

在windows系統中,每個視窗物件都對應有乙個資料結構,形成乙個list鍊錶。系統的視窗管理器通過這個list來獲取視窗資訊和管理每個視窗。這個資料結構中有四個資料用來構建list,即child 兒子 sibling 兄弟 parent 父母 owner 本人 四個域。所以我們可以看到,視窗之間的...

透明框架視窗

如何讓整個視窗具有透明效果呢?使用如下的類 class clayeredimpl layered window template class atl no vtable clayeredimpl virtual clayeredimpl long setlayeredstyle bool setla...