1.什麼是bom?html
全稱:瀏覽器對象模型(Browser Object Model)java
bom是js的一部分,web
2.bom的對象,方法和方法數組
bom提供了主要的8大對象:Window,Screen,Loacation,History,Navigator;Screen,Loacation,History,Navigator四大類是Window的成員,所以均可以經過Window.*去訪問。瀏覽器
1.Window緩存
1.window是什麼服務器
Window對象:表示瀏覽器打開的窗口、標籤或者框架(若當前頁面裏包含多個iframe,會爲每一個iframe建立Window對象)。網絡
Window對象不會被實例化,調用屬性和方法都做爲window的靜態成員。session
全局變量是 window 對象的屬性。app
全局函數是 window 對象的方法。
2.window怎麼用
調用方式:調用Window對象的成員時,能夠省略前面的window。如:window.alert() 可寫成 alert() 。
3.Attribute
readonly ApplicationCache applicationCache :返回窗口的應用緩存對象。
readonly boolean closed :返回窗口是否已經關閉。
readonly Console console :返回對Consol對象的引用,對瀏覽器控制檯進行操做。
readonly int devicePixelRatio :返回設備像素比,即當前顯示器的物理像素和設備獨立像素(dip)的比例。
readonly Document document :返回當前窗口的Document對象。
readonly Element frameElement :若當前window處於一個<iframe>中,此屬性返回這個IFrame。若在頂級窗口,返回null。
readonly Window [] frames :返回一個包含窗口內全部的框架的數組。
readonly History history :返回一個History對象。可對當前頁的歷史進行操做,如:前進、後退等。
readonly long innerHeight :返回當前窗口可顯示HTML文檔的高度,單位px(像素)。
readonly long innerWidth :返回當前窗口可顯示HTML文檔的寬度,單位px(像素)。
readonly long length :返回窗口內包含框架的數量,即frames數量。
readonlyLocation location :返回一個Location對象。可對當前頁面的URL進行操做,如:導航到新的頁面、獲取URL信息等。
readonly LocalStorage localStorage :返回一個鍵/值對存儲的Storage對象,持續到被用戶刪除。
string name :設置或獲取當前窗口的name。
readonlyNavigator navigator :返回一個Navigator 對象。包含瀏覽器信息。如:獲取瀏覽器名稱、版本信息、操做系統平臺信息等等。
Window openner :返回對打開當前窗口的原窗口一個引用。若當前窗口是由另外一個窗口打開的, window.opener保留對那個窗口的引用. 若是當前窗口不是由其餘窗口打開的,則該屬性返回 null。
readonly long outerHeight :返回當前瀏覽器的總高度,單位px(像素)。包含工具欄、滾動條、瀏覽器邊框等範圍。
readonly long outerWidth :返回當前瀏覽器的總寬度,單位px(像素)。包含工具欄、滾動條、瀏覽器邊框等範圍。
readonly long pageXOffset :返回文檔橫向滾動的距離,單位px(像素)。
readonly long pageYOffset :返回文檔縱向滾動的距離,單位px(像素)。
readonly Window parent :返回當前窗口的父級窗口。若當前窗口是頂級窗口,返回當前窗口自己。若當前窗口爲一個框架窗口,返回它的父窗口。
readonlyScreen screen :返回一個Screen對象。包含屏幕信息。如:獲取屏幕高度、寬度等等。
readonly long screenX :返回瀏覽器在屏幕的X座標。
readonly long screenY :返回瀏覽器在屏幕的Y座標。
readonly long scrollX :返回文檔橫向滾動的距離,單位px(像素)。與pageXOffset屬性同樣。
readonly long scrollY :返回文檔縱向滾動的距離,單位px(像素)。與pageYOffset屬性同樣。
readonly Window self :返回一個對當前Window對象的引用。
readonly SessionStorage sessionStorage :返回一個鍵/值對存儲的Storage對象,持續到當前瀏覽會話結束。
readonly Window top :返回當前窗口的頂級窗口。若當前窗口自己已是頂級,則返回自身。若當前窗口爲一個框架窗口,返回包含它的頂級窗口(parent只是返回父窗口)。
readonly Window window :返回當前窗口Window對象。
2.Method
void addEventListener (string eventType,function eventListener) :給窗口註冊事件。eventType事件類型,如:click。eventListener:事件觸發的函數或對象。
void alert (string msg) :彈出一個包含msg和一個確認按鈕的警告框。
string atob (string base64Str) :將一個基於Base64編碼的字符串解碼爲一個字符串。
void blur () :當前窗口移除焦點。
string btoa (string str) :將一個字符串編碼爲一個Base64編碼。
void clearInterval (long intervalHandle) :中止intervalHandle指定的setInterval()。
void clearTimeout (long timeoutHandle) :中止timeoutHandle指定的setTimeout()。
void close () :關閉當前窗口。只能關閉由腳本打開的窗口,如:a元素打開新頁面。
boolean confirm (string msg) :顯示帶有一段消息以及確認按鈕和取消按鈕的對話框。點擊確認按鈕返回true,點擊取消按鈕返回false。
void focus () :當前窗口得到焦點。
void moveBy (long deltaX, long deltaY) :使open()方法建立的窗口,在自己的位置上,水平移動deltaX個像素,垂直移動deltaY個像素。
void moveTo (long x, long y) :使open()方法建立的窗口,移動到x,y座標。
Window open (string url, string target, string features, string replace) :建立一個新的窗口。
void print () :調用瀏覽器的打印按鈕。
string prompt (string msg) :彈出一個顯示msg信息幷包含一個肯定按鈕和取消按鈕的輸入框。此輸入框會阻塞頁面,點擊肯定按鈕返回輸入的內容,點擊取消按鈕返回null。
void resizeBy (long deltaWidth, long deltaHeight) :使open()方法建立的窗口,在自己的位置上,寬度增長deltaWidth個像素,高度增長deltaHeight個像素。
void resizeTo (long width, long height) :使open()方法建立的窗口,寬度變爲width,高度變爲height。
void scrollBy (long deltaWidth, long deltaHeight) :在當前滾動的基礎上,橫向滾動deltaWidth像素,縱向滾動deltaHeight像素。
void scrollTo (long width, long height) :橫向滾動到width像素距離上,縱向滾動到height像素距離上。
long setInterval (function fn, long time) :每隔必定的週期(毫秒)執行指定函數。
long setTimeout (function fn, long time) :在必定的毫秒數後執行指點函數。
2.Screen
1.Screen是什麼
window.screen 對象包含有關用戶屏幕的信息,如一些屬性:
2.如何使用
window.screen 對象在編寫時能夠不使用 window 這個前綴。
調用方式:window.screen 或者 screen。
3.Attribute
readonly long availHeight :返回瀏覽器在屏幕的可用高度,單位px(像素)。可理解爲瀏覽器最大化的高度,通常爲屏幕高度減去上下系統任務欄或停靠欄。
readonly long availWidth :返回瀏覽器在屏幕的可用寬度,單位px(像素)。可理解爲瀏覽器最大化的寬度,通常爲屏幕寬度減去左右系統任務欄或停靠欄。
readonly long colorDepth :返回屏幕的顏色深度。顏色深度簡單說就是最多支持多少種顏色,。通常是用「位」來描述的。好比BMP格式,則最多能夠支持紅、綠、藍各256種,總共24位。因此顏色深度是24。
readonly long height :返回屏幕的高度,單位px(像素)。
readonly long pixelDepth :返回屏幕的色彩深度。
readonly long width :返回屏幕的寬度,單位px(像素)。
3.Navigator
1.What?
Navigator 對象包含有關瀏覽器的信息。如:獲取瀏覽器名稱、版本信息、操做系統平臺信息等等。
2.How?
調用方式:window.navigator 或者 navigator。
3.Attribute
readonly string appName :返回瀏覽器的名稱。基於 Netscape 的瀏覽器中,返回的是 "Netscape"。在 IE 中,返回值爲 "Microsoft Internet Explorer"。
readonly string appVersion :返回瀏覽器版本和平臺信息。如:某個Chrome版本返回 "5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36"。
readonly Geolocation geolocation :返回一個Geolocation對象,可獲取當前的地理信息。
readonly string language :返回瀏覽器界面語言。簡體中文返回:"zh-CN"。
readonly boolean onLine :返回瀏覽器是否可鏈接網絡。
readonly string platform :返回瀏覽器所在的系統平臺。如:Win32。
readonly string userAgent :返回由客戶機發送服務器的 user-agent 頭部的值。如:"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36".
readonly ServiceWorker serviceWorker :返回ServiceWorker對象。serviceWorker運行於瀏覽器後臺的一種腳本,它能夠無需Web頁面或者用戶交互就能提供額外的功能。
4.Method
boolean javaEnabled () :返回瀏覽器是否啓用Java。
4.History
1.History是什麼
window.history 對象包含瀏覽器的歷史。
window.history 對象在編寫時可不使用 window 這個前綴。
爲了保護用戶隱私,對 JavaScript 訪問該對象的方法作出了限制。
可對當前頁的瀏覽歷史進行操做,如:前進、後退等。但不能知道瀏覽了哪些URL。
2.如何使用
調用方式:window.history 或者 history。
3.Attribute
readonly long length :返回瀏覽器歷史列表中的 URL 數量。
4.Method
void back () :當前所屬窗口訪問上一個訪問過的URL。等同於瀏覽器的"後退"按鈕,也等同於history.go(-1)。
void forward () :當前所屬窗口訪問下一個訪問過的URL。等同於瀏覽器的"前進"按鈕,也等同於history.go(1)。
void go (int index) :使當前窗口訪問指定的訪問過的URL。當前窗口訪問過的URL,是存入一個數組。正數表示前進index個(點擊"前進"按鈕index次),負數表示後退index個(點擊"後退"按鈕index次)。
5.Location
1.Location是什麼
window.location 對象用於得到當前頁面的地址 (URL),並把瀏覽器重定向到新的頁面。
window.location 對象在編寫時可不使用 window 這個前綴。
2.怎麼使用
調用方式:window.location 或者 location。
3.Attribute
string hash :設置或返回當前頁面URL中的的錨部分,包含開頭的#符號。
string host :設置或返回當前頁面URL的主機名稱和端口。
string hostname :設置或返回當前頁面URL的主機名稱。
string href :設置或返回當前頁面完整的URL。若設置時不加協議,設置的字符串只是改變URL最後一個'/'以後的字符串。
string pathname :設置或返回當前頁面URL的路徑部分。
string port :設置或返回當前頁面URL的端口。若當前URL沒有端口,返回一個''(空字符串)。
string protocol :設置或返回當前頁面URL的協議,最後面會有個':'冒號。
string search :設置或返回當前頁面URL的查詢部分(從問號 (?) 開始的 URL)。
readonly string origin :返回當前頁面URL的源。返回格式:協議+主機名+端口;如:https://www.baidu.com
4.Method
void assign (string url) :設置當前頁面加載指定的url,等同於設置href屬性的值爲url。
void reload () :從新加載當前頁面的URL。可當作爲刷新操做。
void replace (string url) :設置當前頁面加載指定的url,並在瀏覽器歷史記錄中替換掉當前地址,進行"後退"操做不會顯示當前訪問過的記錄。
3.bom與dom的關係與區別
關聯:由於document
對象又是DOM(Document Object Model)模型的根節點。能夠說,BOM包含了DOM
(對象),瀏覽器提供出來給予訪問的是BOM對象,從BOM對象再訪問到DOM
對象,從而js能夠操做瀏覽器以及瀏覽器讀取到的文檔。
區別:DOM描述了處理網頁內容的方法和接口,BOM描述了與瀏覽器進行交互的方法和接口。
轉載:http://www.cnblogs.com/polk6/p/5045277.html