JS(9) BOM(瀏覽器物件模型)

2021-08-21 06:26:06 字數 1660 閱讀 8408

1. 概念

瀏覽器物件模型(bom)以window 物件為依託,表示瀏覽器視窗以及頁面可見區域。同時,window

物件還是ecmascript 中的global 物件,因而所有全域性變數和函式都是它的屬性,且所有原生的建構函式及其他函式也都存在於它的命名空間下。

2. 取得視窗左邊和上邊的位置

座標使用下列**可以跨瀏覽器取得視窗左邊和上邊的位置。

var leftpos = (typeof window.screenleft == "number") ?window.screenleft : window.screenx;

var toppos = (typeof window.screentop == "number") ?window.screentop : window.screeny;

3. 

取得頁面視口的大小

雖然最終無法確定瀏覽器視窗本身的大小,但卻可以取得頁面視口的大小,如下所示。

var pagewidth = window.innerwidth,

pageheight = window.innerheight;

if (typeof pagewidth != "number") else

}

4. frame

4.1

window.frames[

]在使用框架(frame)時,每個框架都有自己的window 物件以及所有原生建構函式及其他函式的副本。每個框架(frame)都儲存在frames 集合中,在frames集合中,可以通過數值索引(從0 開始,從左至右,從上到下)或者框架名稱來訪問相應的window 物件。每個window 物件都有乙個name 屬性,其中包含框架的名稱。例如:

以上**建立了乙個框架集,其中乙個框架居上,兩個框架居下。對這個例子而言,可以通過

window.frames[0]或者window.frames["topframe"]來引用上方的框架。不過,恐怕你最好使用

top 而非window 來引用這些框架(例如,通過top.frames[0])。

4.2 window.top物件

top 物件始終指向最高(最外)層的框架,也就是瀏覽器視窗。使用它可以確保在乙個框架中正確地訪問另乙個框架。因為對於在乙個框架中編寫的任何**來說,其中的window 物件指向

的都是那個框架的特定例項,而非最高層的框架。下圖展示了在最高層視窗中,通過**來訪問前面例子中每個框架的不同方式。

4.3 window.parent物件

與top 相對的另乙個window 物件是parent。顧名思義,parent(父)物件始終指向當前框架的

直接上層框架。在某些情況下,parent 有可能等於top;但在沒有框架的情況下,parent 一定等於top(此時它們都等於window)。

4.4 window.s

elf物件

與框架有關的最後乙個物件是self,它始終指向window;實際上,self 和window 物件可以互

換使用。引入self 物件的目的只是為了與top 和parent 物件對應起來,因此它不格外包含其他值。

9 BOM (瀏覽器物件模型)

js 三個部分 1 ecmascript標準 ecma5 ecma6 2 bom browser object model 瀏覽器物件模型 3 dom 文件物件型別 window物件下的函式。格式 window.alert 引數 功能 彈出乙個警告框,並顯示,傳入的內容 注 所有window開頭的函...

BOM瀏覽器物件模型

bom能做什麼 操作瀏覽器視窗 提供導航物件 提供定位物件 提供跟螢幕相關物件 提供對 cookie 的支援 window物件 開啟瀏覽器後麻黃素那個建立window物件,代表整個視窗 作用 操作視窗 moveby dx,dy 移動指定的距離 moveto x,y 移動到指定位置 resizeby ...

瀏覽器物件模型 BOM

bom的核心物件是window物件,其他物件都是window物件的子物件 一 瀏覽器物件模型 二 window物件 屬性 1.位置型別 瀏覽器距離螢幕的距離 ie chrome alert window.screenleft alert window.screentop ff chrome aler...