瀏覽器物件模型(BOM)

瀏覽器物件模型(Browser Object Model)

瀏覽器物件模型,一般都簡稱為BOM,是Javascript與瀏覽器溝通的橋樑,讓Javascript可以透過BOM對瀏覽器進行各種操作,包含開啟/關閉視窗,改變視窗大小,計時器與取得位址之類的。

瀏覽器物件模型在Javascript中十分常用,也算是基礎的一部分,但奇怪的是他其實並沒有正式的標準。不過還好大部分的瀏覽器都還依循著一定的規則,在許多方面其實都是通用的,雖然有些部分依然存在著差異。

Window 物件:

瀏覽器物件模型有著階層性的架構,最上層便是Window物件,代表著瀏覽器視窗本身,若是視窗中含有框架,則每個框架都還有屬於自己的window物件。

所有的BOM都可透過window來存取。window物件的使用不須經過宣告,可以直接使用。事實上,在Javcascript中,所有的全域變數、函式、物件,其實都是屬於window物件。

下面用一個小程式來證明這點:

<script>
x=5;
alert (window.x); //輸出 5
</script>

很明顯,全域變數x是window物件的一個屬性。事實上,上面使用到的 alert() 函式,也是window的一個方法。

以window物件為頂層的BOM架構大致如下(不完全):

常用的window屬性:

属性 說明
closed 返回視窗是否已關閉。
defaultStatus 用於瀏覽器狀態欄內的預設字符串。
document document物件。
history history物件。
innerheight 視窗內部高度,在IE8(包含)之前,無法使用。可以用document.documentElement.clientHeight作為代替。
innerwidth 視窗內部寬度,在IE8(包含)之前,無法使用。可以用document.documentElement.clientWidth作為代替。
length 返回框架數量。
location location物件。
name 視窗名稱。
Navigator Navigator物件。
opener 表示打開窗口的Window對象。
outerheight 返回視窗外部高度。
outerwidth 返回視窗外部寬度。
pageXOffset 當前頁面相對於視窗顯示區左上角的X位置。
pageYOffset 當前頁面相對於視窗顯示區左上角的Y位置。
parent 返回父視窗。
Screen screen物件。
self 視窗本身的引用。
status 顯示瀏覽器狀態欄的字串。
top 最頂層祖先視窗
window 視窗本身的引用。

常用的window方法:

方法 說明
alert() 跳出一個警告訊息窗。
blur() 移除該視窗焦點。
clearInterval() 取消由 setInterval() 設定的計時器。
clearTimeout() 取消由 setTimeout() 方法設定的計時器。
close() 關閉瀏覽器視窗
confirm() 跳出一個有確認與取消按鈕地確認框。
createPopup() 建立一個彈出視窗。
focus() 取得焦點。
moveBy() 以相對位置移動視窗。
moveTo() 移動視窗到指定位置。
open() 開啟一個新的瀏覽器視窗。
print() 輸出目前窗口內容。
prompt() 跳出可輸入訊息的對話
resizeBy() 調整視窗大小。
resizeTo() 調整視窗大小。
scrollBy() 滾動內容。
scrollTo() 滾動內容。
setInterval() 計時器。
setTimeout() 計時器。
 
 

  按個讚!~支持本站!~

FB推薦載入中