瀏覽器對象模型

瀏覽器對象模型 (BOM) 是一種特定於瀏覽器的約定,是Web瀏覽器公開的所有對象。當瀏覽器解析一個文檔時,它會創建一個對象集合,用於描述文檔和如何顯示它們的細節。瀏覽器創建的這個對象稱爲文檔對象。它是瀏覽器使用的大集合對象的一部分。瀏覽器對象的這個集合稱爲瀏覽器對象模型,或BOM。BOM不是ECMAScript標準規範,儘管它是JavaScript核心部分所描述的。重要的BOM對象如下:

  • document文檔
  • location位置
  • history歷史
  • navigator導航
  • screen屏幕
  • frames框架

有一個瀏覽器對象的層次框架,可以用於與瀏覽器自身相聯繫的方法和屬性的操作上。在BOM裏的最頂級對象是窗體window對象。窗體對象代表瀏覽器窗口。其他全部瀏覽器對象都包含在窗體對象裏面。窗體對象具有一些屬性和方法,可以用它們操控網頁瀏覽器。 客戶端Web開發的很好的一部分是儘量使用與瀏覽器本身相關的屬性和方法,和佔用它們的文檔。

瀏覽器窗口被稱爲窗口對象的一個全局對象所表示。這個窗口對象被所有主流瀏覽器支持,並且包括全部的JavaScript全局對象。任何函數,對象,或變量,在JavaScript裏都是窗口對象的一個成員。下面是幾個窗口對象的屬性和方法實例:

window.open("", newWindow, "width=500, height=500");
window.frames[0].location = "http://net-informations.com";
window.close();
var winWidth = window.innerwidth;
var winHeight = window.innerHeight;
window1.moveTo(500, 300);
window1.focus();

文檔元素是DOM元素的根,在對象層次框架裏面是BOM的一部分。文檔對象模型表示顯示在瀏覽器當中的網頁。網頁裏面的全部元素,包括HTML標籤,都包括在文檔對象裏面。由於文檔對象經常被作爲BOM的最重要的部分而考慮,它表示自己的對象模型,通常被稱爲文檔對象模型DOM。不像文檔對象模型,因爲沒有實現的標準,沒有嚴格的定義,所以瀏覽器發佈者可以按他們自己的願望自由實現BOM。所有的全局對象,函數,JavaScript變量都是缺省的窗口對象成員。當訪問它的大部分元素的時候,JavaScript 允許 window引用被省略。全局對象的例子如下:

window.document.getElementById("Para1");
document.getElementById("Para1");

上面例子當中的兩個語句意思是一樣的。

BOM例子

<!DOCTYPE html>
<html>
<head>
<title>BOM Examples</title>
<script>
var browserInfo = window.navigator.appName + " " + window.navigator.appVersion;
document.write("<h2>Browser Info</h2><p>"+browserInfo +"</p>");
var newWindow;
function opennewWindow() {
newWindow = window.open("", "", "width=500, height=300, top=150, left=150");
newWindow.document.title = "New Window";
paraGraph = document.createElement("P");
paraGraph_text = document.createTextNode("New Paragraph");
paraGraph.appendChild(paraGraph_text);
newWindow.document.body.appendChild(paraGraph);
}
function closenewWindow() {
if (newWindow != undefined) {
newWindow.close();
newWindow = undefined;
}
else {
alert("Nothing to open !!");
}
}
</script>
</head>
<body>
<h2>BOM Window Object</h2>
<p>
<input type="button" value="Open Window" onclick="opennewWindow()" />
<input type="button" value="Close Window" onclick="closenewWindow()" />
</p>
</body>
</html>

JavaScript教程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章