2014年8月12日 星期二

[JavaScript] About BOM Browser Object Model

書中有提到navigator物件的cookieEnabled特性,卻沒有詳細提到navigator物件的內容,所以上網找資料做功課,有的網站寫navigator是HTML DOM,也有網頁寫是BOM,讓我搞不太清楚到底在講什麼,最後找到一個地方講解的蠻清楚的,navigator及document都是window的子對象。參考來源:http://www.dreamdu.com/javascript/what_is_bom/

什麼是BOM

  • BOM是Browser Object Model的縮寫,簡稱瀏覽器對象模型
  • BOM提供了獨立於內容而與瀏覽器窗口進行交互的對象
  • 由于BOM主要用於管理窗口與窗口之間的通訊,因此其核心對象是window
  • BOM由一系列相關的對象構成,並且每個對象都提供了很多方法與属性
  • BOM缺乏標準,JavaScript語法的標準化組織是ECMA,DOM的標準化組織是W3C
  • BOM最初是Netscape瀏覽器標準的一部分

BOM結構圖


window對象是BOM的頂層(核心)對象,所有對象都是通過他延伸出來的,也可以稱為window的子對象。
對於window是頂層對象,因此調用他的子對象時可以不顯示指名window對象,例如下面兩行代碼是一樣的:
document.write("www.dreamdu.com");
window.document.write("www.dreamdu.com");


全局的window對象

JavaScript中的任何一個全局函數變量都是window的属性
var sTest="dreamdu";
document.write(sTest==window.sTest);
//result : true

由於sTest是全域變數,因此可以通過window.sTest訪問這個變數,這點很重要,我們將在JavaScript作用域章節中詳細介紹。

window的子對象有:

  • JavaScript document
  • JavaScript frames
  • JavaScript history
  • JavaScript location
  • JavaScript navigator
  • JavaScript screen
window的函數相當多,這邊做紀錄方便以後查詢用。

window控制函數

  • JavaScript moveBy() 函數
  • JavaScript moveTo() 函數
  • JavaScript resizeBy() 函數
  • JavaScript resizeTo() 函數

window滾動軸控制函數

  • JavaScript scrollTo() 函數
  • JavaScript scrollBy() 函數
猴子提示: 上面几个函数的名字最后都带有To或By,to是绝对的意思(从整体而言),by是相对的意思(从原先的位置而言)

window焦點控制函數

  • JavaScript focus() 函數
  • JavaScript blur() 函數

新建window函數

  • JavaScript open()函數
  • JavaScript close() 函數
  • JavaScript opener 属性

對話框函數


  • JavaScript alert() 函數
  • JavaScript confirm() 函數
  • JavaScript prompt() 函數

狀態欄属性

  • JavaScript window.defaultStatus 属性
  • JavaScript window.status 属性

時間等待與間隔函數

  • JavaScript setTimeout() 函數
  • JavaScript clearTimeout() 函數
  • JavaScript setInterval() 函數
  • JavaScript clearInterval() 函數

document屬性

  • cookie -Clinet Cookie
  • title -當前頁面title標籤中定義的文字
  • URL -當前頁面的URL

下面內容的不建議使用(原因還沒查)
  • alinkColor -代表HTML body標籤的alink属性
  • bgColor -代表HTML body標籤的bgcolor属性
  • fgColor -代表HTML body標籤的text属性
  • linkColor -代表HTML body標籤的link属性
  • vlinkColor -代表HTML body標籤的vlink属性
  • lastModified -頁面最後修改的日期字符串,可以使用Date的構造函數轉換為日期,例如:new Date(document.lastModified);
  • referrer -瀏覽器history中後退一個位置的URL

由於document代表HTML文檔的內容,因此可以通過它表示文檔中加載的一些元素,這些元素全部通通集合訪問。
  • anchors -- 文檔中所有錨(a name="aname")的集合
  • applets -- 文檔中所有applet標籤表示的內容的集合
  • embeds -- 文檔中所有embed標籤表示的內容的集合
  • forms -- 文檔中所有form標籤表示的內容的集合
  • images -- 文檔中所有image標籤表示的內容的集合
  • links -- 文檔中所有a(鏈結)標籤表示的內容的集合

document函數

  • JavaScript write() 函數
  • JavaScript writeln() 函數
  • JavaScript document.open() 函數
  • JavaScript document.close() 函數








沒有留言:

張貼留言