前言
JavaScript中有兩個比較重要的對象。一個是BOM對象(瀏覽器對象模型),一個是DOM對象(文檔對象模型)。
1. BOM簡介
BOM (Browser Object Model) 即瀏覽器對象模型,提供了獨立於內容,而與瀏覽器窗口交互的對象;由於BOM主要用於窗口之間的通訊,其核心對象是window。
BOM由一系列相關對象構成,並且每個對象都提供了很多方法與屬性
[1] window代表瀏覽器窗口
相關方法:
window.innerHeight //窗口內邊界高度
window.innerWidth // 窗口內邊界寬度
window.outerHeight //窗口外邊界高度
window.outerWidth //窗口外邊界寬度
瀏覽器上運行的截圖
[2] screen (瀏覽器屏幕尺寸的大小)
這裏的寬度和高度和我們window的innerWidth和 innerHeight的值是一致的
screen.width
screen.height
[3] location (代表當前頁面的URL信息)
location的屬性十分多,如下圖所示:
其中主要的有
host: "www.baidu.com" //主機名
href: "https://www.baidu.com/" //瀏覽地址
protocol: "https:" //協議
reload: ƒ reload() //刷新網頁
[4] document(內容)
document代表頁面的內容,HTML DOM文檔樹爲核心,這裏只做簡單介紹(後面一篇講解)
這裏我們可以改變文檔樹裏的任意內容
也可以獲取文檔樹的節點
<dl id = "app">
<dt>Java</dt>
<dd>JavaSE</dd>
<dd>JavaEE</dd>
</dl>
<script>
var dl = document.getElementById("app");
</script>
可以獲取Cookie 。
生活中的實例:
[1] 天貓和淘寶。當我們登錄淘寶時,天貓會自動登錄;這就是一個簡單獲取Cookie的實例;
[2] 當我們瀏覽網站時,有時候會有安全警告,這時可能是非法人員通過js腳本獲取你的cookie信息上傳的它的服務器中,那麼你的隱私就會暴露。
[5] history (歷史記錄)
主要方法:
history.back(); //後退
history.forward(); //前進
[6] navigator (訪問者的瀏覽器詳情)
封裝了瀏覽器的信息
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>navigator對象</title>
</head>
<body>
<div id="example"></div>
<script>
txt = "<p>瀏覽器代號: " + navigator.appCodeName + "</p>";
txt+= "<p>瀏覽器名稱: " + navigator.appName + "</p>";
txt+= "<p>瀏覽器版本: " + navigator.appVersion + "</p>";
txt+= "<p>啓用Cookies: " + navigator.cookieEnabled + "</p>";
txt+= "<p>硬件平臺: " + navigator.platform + "</p>";
txt+= "<p>用戶代理: " + navigator.userAgent + "</p>";
txt+= "<p>用戶代理語言: " + navigator.systemLanguage + "</p>";
document.getElementById("example").innerHTML=txt;
</script>
</body>
</html>