BOM:Browser object Model
---- 瀏覽器物件模型------>操作的是瀏覽器的物件
瀏覽器物件
···瀏覽器頂級物件: window
- 特殊屬性:
- window.name : 沒定義時輸出空白。
- window.top : 輸出與window相同
- 系統對話方塊:
- window.alert() : 顯示帶有可選指定內容的警告對話方塊和OK按鈕
- window.prompt() : 顯示帶有一個可選的訊息提示使用者輸入文字的對話方塊
- window.confirm() : 顯示帶有可選訊息的對話方塊,其中包含一個可選資訊和兩個按鈕(確定以及取消)
以上三個對話方塊建議只在測試的時候使用
- 頁面載入完畢
- window.onload : 檢測頁面中的所有內容,標籤,屬性,文字,包括外部引用的JS檔案是否載入完畢
- 擴充套件 : --window.onunload(頁面關閉後才觸發的事件) --window.onbeforeunload(頁面關閉之前觸發的)
···location物件
-
location物件包含有關當前URL的資訊
-
屬性
屬性 描述 hash 設定或返回從#號開始的URL(錨) host 設定或返回主機名和當前URL的埠號 hostname 設定或返回當前URL的主機名 href 設定或返回完整的URL pathname 設定或返回當前URL的路徑名 port 設定或返回當前URL的埠號 protocol 設定或返回當前URL的協議 search 設定或返回從?開始的URL(搜尋內容) -
方法:設定跳轉的頁面
方法 描述 assign() 載入新的文件 reload() 重新載入當前文件(重新整理) replace() 用新文件替換當前文件(無歷史記錄)
···history物件
- history物件包含使用者(在瀏覽器視窗中)訪問過的URL
- 屬性 : length 返回瀏覽器歷史列表中URL數量
- 方法
方法 描述 back() 載入前一個URL forward() 載入下一個URL go() 載入歷史列表中的某個具體的頁面(引數:-1上一個頁面,1前進一個頁面或URL字串)
···navigator物件
- 通過這個物件可以獲得瀏覽器的瀏覽器的種類、版本號等屬性
- 部分屬性
屬性 屬性值 appCodeName 瀏覽器的程式碼名稱,如Firefox、IE的程式碼都是Mozilla appName 瀏覽器的名稱 platform 瀏覽器的作業系統或硬體型別 userAgent 宣告瞭瀏覽器用於 HTTP 請求的使用者代理頭的值。
···定時器
- 迴圈定時器
- 建立定時器 : window.setInterval(fn,time);
- 引數1 : 函式 引數2 : 時間---毫秒---1000ms--1s
- 執行過程 :頁面載入完畢後,過了一秒。執行一次函式程式碼,又過了1秒再執行函式
- 返回值是定時器的id值
- 清除定時器 : window.clearInterval(timeId);
- 引數 : 要清理的定時器的id的值
- 建立定時器 : window.setInterval(fn,time);
- 一次性定時器
- 建立定時器 :window.setTimeout(fn,time);
- 清除定時器 :clearTimeout(timeId);
返回當前瀏覽器型別
/**
* 返回當前瀏覽器是什麼型別的瀏覽器
*/
function userBrowser(){
var browserName=navigator.userAgent.toLowerCase();
if(/msie/i.test(browserName) && !/opera/.test(browserName)){
console.log("IE");
}else if(/firefox/i.test(browserName)){
console.log("Firefox");
}else if(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName)){
console.log("Chrome");
}else if(/opera/i.test(browserName)){
console.log("Opera");
}else if(/webkit/i.test(browserName) &&!(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName))){
console.log("Safari");
}else{
console.log("不知道什麼鬼!");
}
}
複製程式碼
------------------------------------------------------記錄於 2019.4.16 JavaScript之BOM