javascript的BOM

javascript的BOM

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

            ps:上面摘抄於《javascript高級程序設計》,BOM是瀏覽器的窗口對象,提供了不少窗口處理的API。在webapp框架愈來愈多的狀況下,須要咱們在同一窗口處理不一樣頁面、不一樣的ajax數據,則須要咱們熟悉BOM的內容。
html

一、window

        BOM 的核心對象是 window ,它表示瀏覽器的一個實例。在瀏覽器中, window 對象有雙重角色,它既是經過 JavaScript 訪問瀏覽器窗口的一個接口,又是 ECMAScript 規定的 Global 對象。java

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

二、location

        location 是最有用的 BOM對象之一,它提供了與當前窗口中加載的文檔有關的信息,還提供了一些導航功能。事實上, location 對象是很特別的一個對象,由於它既是 window 對象的屬性,也是document 對象的屬性;換句話說, window.location 和 document.location 引用的是同一個對象。location 對象的用處不僅表如今它保存着當前文檔的信息,還表如今它將 URL 解析爲獨立的片斷,讓開發人員能夠經過不一樣的屬性訪問這些片斷。ajax


三、history

        history 對象保存着用戶上網的歷史記錄, 從窗口被打開的那一刻算起。 由於 history 是 window對象的屬性,所以每一個瀏覽器窗口、每一個標籤頁乃至每一個框架,都有本身的 history 對象與特定的window 對象關聯。出於安全方面的考慮,開發人員沒法得知用戶瀏覽過的 URL。不過,藉由用戶訪問過的頁面列表,一樣能夠在不知道實際 URL 的狀況下實現後退和前進。編程

四、navigator

        最先由 Netscape Navigator 2.0引入的 navigator 對象,如今已經成爲識別客戶端瀏覽器的事實標準。雖然其餘瀏覽器也經過其餘方式提供了相同或類似的信息(例如,IE 中的 window.clientInfor-mation 和 Opera 中的 indow.opera ) ,但 navigator 對象倒是全部支持 JavaScript 的瀏覽器所共有的。與其餘 BOM 對象的狀況同樣,每一個瀏覽器中的 navigator 對象也都有一套本身的屬性。下圖有navigator比較重要的信息瀏覽器

五、screen

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

<!DOCTYPE html>
<html>
<head>
<script>
	console.log(screen);
</script>
</head>
<body>
	screen
</body>
</html>
相關文章
相關標籤/搜索