javascript的BOM,javascriptBOM

來源:互聯網
上載者:User

javascript的BOM,javascriptBOM

javascript的BOM

            ECMAScript是 JavaScript的核心,但如果要在 Web中使用 JavaScript,那麼 BOM(瀏覽器物件模型)則無疑才是真正的核心。BOM 提供了很多個物件,用於訪問瀏覽器的功能,這些功能與任何網頁內容無關。多年來,缺少事實上的規範導致 BOM既有意思又有問題,因為瀏覽器供應商會按照各自的想法隨意去擴充它。於是,瀏覽器之間共有的對象就成為了事實上的標準。這些對象在瀏覽器中得以存在,很大程度上是由於它們提供了與瀏覽器的互通性。W3C為了把瀏覽器中 JavaScript最基本的部分標準化,已經將 BOM的主要方面納入了 HTML5的規範中。

            ps:上面摘抄於《javascript進階程式設計》,BOM是瀏覽器的視窗對象,提供了很多視窗處理的API。在webapp架構越來越多的情況下,需要我們在同一視窗處理不同頁面、不同的ajax資料,則需要我們熟悉BOM的內容。

1、window

        BOM 的核心對象是 window ,它表示瀏覽器的一個執行個體。在瀏覽器中, window 對象有雙重角色,它既是通過 JavaScript 訪問瀏覽器視窗的一個介面,又是 ECMAScript 規定的 Global 對象。

下面是open的第三個字串屬性

2、location

        location 是最有用的 BOM對象之一,它提供了與當前視窗中載入的文檔有關的資訊,還提供了一些導航功能。事實上, location 對象是很特別的一個對象,因為它既是 window 對象的屬性,也是document 對象的屬性;換句話說, window.location 和 document.location 引用的是同一個對象。location 對象的用處不只表現在它儲存著當前文檔的資訊,還表現在它將 URL 解析為獨立的片段,讓開發人員可以通過不同的屬性訪問這些片段。


3、history

        history 對象儲存著使用者上網的記錄, 從視窗被開啟的那一刻算起。 因為 history 是 window對象的屬性,因此每個瀏覽器視窗、每個標籤頁乃至每個架構,都有自己的 history 對象與特定的window 對象關聯。出於安全方面的考慮,開發人員無法得知使用者瀏覽過的 URL。不過,藉由使用者訪問過的頁面列表,同樣可以在不知道實際 URL 的情況下實現後退和前進。

4、navigator

        最早由 Netscape Navigator 2.0引入的 navigator 對象,現在已經成為識別用戶端瀏覽器的事實標準。雖然其他瀏覽器也通過其他方式提供了相同或相似的資訊(例如,IE 中的 window.clientInfor-mation 和 Opera 中的 indow.opera ) ,但 navigator 對象卻是所有支援 JavaScript 的瀏覽器所共有的。與其他 BOM 對象的情況一樣,每個瀏覽器中的 navigator 對象也都有一套自己的屬性。有navigator比較重要的資訊

5、screen

        JavaScript 中有幾個對象在編程中用處不大,而 screen 對象就是其中之一。 screen 對象基本上只用來表明用戶端的能力,其中包括瀏覽器視窗外部的顯示器的資訊,如像素寬度和高度等。每個瀏覽器中的 screen 對象都包含著各不相同的屬性,下表列出了所有屬性及支援相應屬性的瀏覽器。直接用下面代碼查看下就行了

<!DOCTYPE html><html><head><script>  console.log(screen);</script></head><body>  screen</body></html>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.