JavaScript入門篇之瀏覽器物件模型,javascript入門篇
前言:
真正的JavaScript是由三部分組成,ECMAScript、DOM、BOM,如所示。本文將主要介紹其中的瀏覽器物件模型。 BOM(Browser Object Mode) 是指瀏覽器物件模型,是用於描述這種對象與對象之間層次關係的模型,瀏覽器物件模型提供了獨立於內容的、可以與瀏覽器視窗進行互動的對象結構。BOM由多個對象組成,其中代表瀏覽器視窗的Window對象是BOM的頂層對象,其他對象都是該對象的子物件。
一、window對象
BOM可以用來訪問和操作瀏覽器視窗的瀏覽器,開發人員可以使用它控制瀏覽器顯示頁面以外的部分。它提供了很多的對象,來協助我們訪問瀏覽器。其中核心對象是window,它表示瀏覽器的一個執行個體。window對象處於JavaScript結構的最頂層,對於每個開啟的視窗,都會有一個預設的window對象。
window對象的屬性:
window對象的方法:
在方法中有我們經常使用的alert(),confirm(),prompt()方法可以調用系統對話方塊向使用者顯示資訊。因為window對象是一個全域對象,所以不需要在它的屬性和方法的面前加上window。相反,可以直接調用它們,就向我們已經在那些直接調用alert()方法的執行個體中見到的那樣。
應用舉例:
//確定和取消 if (confirm('請確定或者取消')) { alert("確定要確定嗎?") } else { alert("確定要取消嗎?") }
window對象的直接後代不需要window首碼,不過,當處理window對象的直接後代以外的對象時,則需要在它們前面加上window對象的名字。例如,document對象是window對象的直接後代,所以不需要window首碼,但是document對象的後代卻需要document首碼。
舉例如下:
alert('something'); //note no window document.forms[0] //note the document
二、location對象
location對象使我們能夠訪問當前載入的URI,包括任何有關查詢字串、使用的協議以及其他相關組件的資訊。
location屬性:
location方法:
應用舉例:
<span style="font-family:KaiTi_GB2312;font-size:18px;"><body> <script lang="javasctript" type="text/javascript"> var body = document.getElementsByTagName("body")[0]; for (var prop in navigator) { var elem = document.createElement("p"); var text = document.createTextNode(prop + ":" + navigator[prop]); elem.appendChild(text); body.appendChild(elem); } if (location.search) { var querystring = localtion.search; var splits = querystring.splits('&'); for (var i = 0; i < splits.length; i++) { var splitpair = splits[i].split('='); var elem = document.createElement("p"); var text = document.createTextNode(splitpair[0] + ":" + splitpair[1]); elem.appendChild(text); body.appendChild(elem); } } </script></body></span>
三、history對象
history對象提供了通過訪問者瀏覽曆史向前和向後移動的方法。具體的說,可以使用back()、forward()、go()。這可能不言而喻,但還要說明一下:back()和forward()分別向後和向前移動一個頁面,go()方法移動到參數指定的索引值。
應用執行個體:
function back() { history.back(); } function forward() { history.forward(); } <p><a href="#" onclick="return back();">Click to go back</a></p> <p><a href="#" onclick="return forward();">Click to go forward</a></p>
四、小結
關於瀏覽器物件模型中幾個重要的對象,需要進一步實踐去掌握一些常用的屬性和方法。