1:BOM(Browser Object Model)概念 window對象是BOM中所有對象的核心。 2:window屬性(較少用) self:self代表自己,相當於window。 parent:返回父視窗。 top:返回頂層視窗,和parent作用一樣。 opener:視窗開啟者。 3:win ...
1:BOM(Browser Object Model)概念
window對象是BOM中所有對象的核心。
2:window屬性(較少用)
self:self代表自己,相當於window。
window.self; //指向自身視窗
parent:返回父視窗。
top:返回頂層視窗,和parent作用一樣。
opener:視窗開啟者。
3:window方法
1.window.open(url, name, feature, replace);
url:一個可選的字元串,聲明瞭要在新視窗中顯示的文檔的 URL。如果省略了這個參數,或者它的值是空字元串,那麼新視窗就不會顯示任何文檔。
name:一個可選的字元串,該字元串是一個由逗號分隔的特征列表,其中包括數字、字母和下劃線,該字元聲明瞭新視窗的名稱。
這個名稱可以用作標記 <a> 和 <form> 的屬性 target 的值。
feature:自行擴展。replace:自行擴展。
谷歌預設會把系統自動打開的新網頁阻止掉,但不阻止通過事件打開新的網頁。
2.close:關閉瀏覽器。(window.close()//關閉瀏覽器視窗)
但都支持通過別的網頁打開的新的網頁關閉。
3.alert(顯示的文本):彈出窗。(window.alert()//瀏覽器視窗彈框)
4.confirm(對話框提示的文字):該方法有返回值,點擊確定返回true,點擊取消返回false。
console.log(window.confirm('今天下雪了嗎?')); //點擊確認輸出true;點擊取消輸出false
5.prompt(提示信息):輸入框。點擊確定返回字元串,點擊取消返回null。
console.log(window.prompt('請問1+1等於幾?'));
//彈出視窗有書寫區域,返回值為輸入的信息,若不填寫為null
4:history對象
該對象包含瀏覽器視窗訪問過的url。
1.屬性
length 返回瀏覽器歷史記錄的數量
2.方法(使用以下方法返回網頁history的記錄不增不減)
back() 後退,載入前一個url。
forward() 前進。
go(number) 如果參數是正數,那麼就是前進相應的數目,如果是負數那麼反之,如果是0那麼就是刷新。
5:location對象
包含有當前url的相關信息,而history對象不能具體反應url的相關信息。
屬性:
href:設置或返回完整的url。可以為相對路徑,也可以為絕對路徑。
search:返回url?後面的查詢部分。
hash :是一個可讀可寫的字元串,該字元串是 URL 的錨部分(從 # 號開始的部分)。
方法:
assign(url):載入新的文檔。
reload(boolean):重新載入文檔,當參數是true,任何時候都會重新載入,false的時候,只有在文檔改變的時候才會載入,否則直接讀取記憶體當中的。
replace(url):用新的文檔代替當前的文檔。但不會在 History 對象中生成一個新的記錄。當使用該方法時,新的 URL 將覆蓋 History 對象中的當前記錄。
6:navigator對象
userAgent:用戶代理信息,通過該屬性可獲取瀏覽器及操作系統信息。可通過此對象查看瀏覽器的信息,項目的不相容此版本瀏覽器可給出用戶的相關建議。
console.log(navigator.userAgent);
7:window事件
- onresize:視窗縮放事件。
window.onresize = function () { console.log(2) }
- onload:載入事件網頁載入完畢後執行。// 獲取瀏覽器視窗寬度/高度
window.onload = function () { console.log(document.documentElement.clientWidth) console.log(document.documentElement.clientHeight) }
- onscroll:滾動事件。// 獲取瀏覽器滾動條隱藏的寬度/高度
chrome(body)、火狐、IE(documentElement)
通過分裝方法相容各版本的瀏覽器:
window.onscroll = function () { var iScrollT = document.documentElement.scrollTop || document.body.scrollTop; var iScrollL = document.documentElement.scrollLeft || document.body.scrollLeft; console.log(iScrollL) }