BOM 淺談

Browser 對(duì)象

W3School搬運(yùn)工,點(diǎn)我直達(dá)W3School

知識(shí)點(diǎn)比較凌亂也基本過時(shí)了蓉媳,稍微了解就好。

BOM:BrowserObjectModel,瀏覽器對(duì)象模型酪呻,提供JS中對(duì)瀏覽器的各種操作的對(duì)象盐须,是JS應(yīng)用中唯一沒有相關(guān)標(biāo)準(zhǔn)的部分,這事BOM經(jīng)常出現(xiàn)問題的所在阶冈,主要用于處理瀏覽器窗口與框架,瀏覽器特有的JS擴(kuò)展也被默認(rèn)為BOM的一部分填具,而各瀏覽器之間的公有對(duì)象就成了默認(rèn)的標(biāo)準(zhǔn)

Window 對(duì)象

Window 對(duì)象表示瀏覽器中打開的窗口匆骗。

window
window.history
window.alert()

window 對(duì)象描述

Window 對(duì)象表示一個(gè)瀏覽器窗口或一個(gè)框架。在客戶端 JavaScript 中盟广,Window 對(duì)象是全局對(duì)象,所有的表達(dá)式都在當(dāng)前的環(huán)境中計(jì)算筋量。也就是說碉熄,要引用當(dāng)前窗口根本不需要特殊的語法,可以把那個(gè)窗口的屬性作為全局變量來使用具被。例如一姿,可以只寫 document跃惫,而不必寫 window.document。

同樣蛉顽,可以把當(dāng)前窗口對(duì)象的方法當(dāng)作函數(shù)來使用,如只寫 alert()携冤,而不必寫 Window.alert()闲勺。

除了上面列出的屬性和方法,Window 對(duì)象還實(shí)現(xiàn)了核心 JavaScript 所定義的所有全局屬性和方法翘地。

Window 對(duì)象的 window 屬性和 self 屬性引用的都是它自己。當(dāng)你想明確地引用當(dāng)前窗口昧穿,而不僅僅是隱式地引用它時(shí)橙喘,可以使用這兩個(gè)屬性。除了這兩個(gè)屬性之外渴杆,parent 屬性、top 屬性以及 frame[] 數(shù)組都引用了與當(dāng)前 Window 對(duì)象相關(guān)的其他 Window 對(duì)象囊拜。

Navigator

Navigator 對(duì)象包含有關(guān)瀏覽器的信息比搭。

//用來判斷瀏覽器與版本
navigator.userAgent
//判斷用戶瀏覽器是否開啟cookie
navigator.cookieEnabled

Screen

Screen 對(duì)象包含有關(guān)客戶端顯示屏幕的信息。

//調(diào)整任務(wù)欄之后無法立即查看更新后的結(jié)果蜜托,需要重啟瀏覽器(Chrome下)
availHeight 返回顯示屏幕的高度 (除 Windows 任務(wù)欄之外)霉赡。
availWidth  返回顯示屏幕的寬度 (除 Windows 任務(wù)欄之外)。
//雙顯示屏切換穴亏,立即生效
height  返回顯示屏幕的高度。
width   返回顯示器屏幕的寬度棠涮。

History

History 對(duì)象包含用戶(在瀏覽器窗口中)訪問過的 URL刺覆。
History 對(duì)象是 window 對(duì)象的一部分,可通過 window.history 屬性對(duì)其進(jìn)行訪問驳糯。

length  返回瀏覽器歷史列表中的 URL 數(shù)量氢橙。
back()  加載 history 列表中的前一個(gè) URL。
forward()   加載 history 列表中的下一個(gè) URL充蓝。
go()    加載 history 列表中的某個(gè)具體頁面喉磁。

下面一行代碼執(zhí)行的操作與單擊后退按鈕執(zhí)行的操作一樣:

history.back()

下面一行代碼執(zhí)行的操作與單擊兩次后退按鈕執(zhí)行的操作一樣:

history.go(-2)

Location

Location 對(duì)象包含有關(guān)當(dāng)前 URL 的信息协怒。
Location 對(duì)象是 Window 對(duì)象的一個(gè)部分卑笨,可通過 window.location 屬性來訪問。

屬性 描述
hash 設(shè)置或返回從井號(hào) (#) 開始的 URL(錨)赤兴。
host 設(shè)置或返回主機(jī)名和當(dāng)前 URL 的端口號(hào)。
hostname 設(shè)置或返回當(dāng)前 URL 的主機(jī)名座舍。
href 設(shè)置或返回完整的 URL陨帆。
pathname 設(shè)置或返回當(dāng)前 URL 的路徑部分。
port 設(shè)置或返回當(dāng)前 URL 的端口號(hào)承二。
protocol 設(shè)置或返回當(dāng)前 URL 的協(xié)議纲爸。
search 設(shè)置或返回從問號(hào) (?) 開始的 URL(查詢部分)。
方法 描述
assign() 加載新的文檔读虏。
reload() 重新加載當(dāng)前文檔袁滥。
replace() 用新的文檔替換當(dāng)前文檔灾螃。

對(duì)象描述

Location 對(duì)象存儲(chǔ)在 Window 對(duì)象的 Location 屬性中,表示那個(gè)窗口中當(dāng)前顯示的文檔的 Web 地址嵌赠。它的 href 屬性存放的是文檔的完整 URL熄赡,其他屬性則分別描述了 URL 的各個(gè)部分。這些屬性與 Anchor 對(duì)象(或 Area 對(duì)象)的 URL 屬性非常相似炊豪。當(dāng)一個(gè) Location 對(duì)象被轉(zhuǎn)換成字符串凌箕,href 屬性的值被返回牵舱。這意味著你可以使用表達(dá)式 location 來替代 location.href缺虐。

不過 Anchor 對(duì)象表示的是文檔中的超鏈接,Location 對(duì)象表示的卻是瀏覽器當(dāng)前顯示的文檔的 URL(或位置)慧妄。但是 Location 對(duì)象所能做的遠(yuǎn)遠(yuǎn)不止這些剪芍,它還能控制瀏覽器顯示的文檔的位置。如果把一個(gè)含有 URL 的字符串賦予 Location 對(duì)象或它的 href 屬性紊浩,瀏覽器就會(huì)把新的 URL 所指的文檔裝載進(jìn)來,并顯示出來费彼。

除了設(shè)置 location 或 location.href 用完整的 URL 替換當(dāng)前的 URL 之外口芍,還可以修改部分 URL,只需要給 Location 對(duì)象的其他屬性賦值即可颠猴。這樣做就會(huì)創(chuàng)建新的 URL,其中的一部分與原來的 URL 不同翘瓮,瀏覽器會(huì)將它裝載并顯示出來裤翩。例如,假設(shè)設(shè)置了Location對(duì)象的 hash 屬性呵扛,那么瀏覽器就會(huì)轉(zhuǎn)移到當(dāng)前文檔中的一個(gè)指定的位置筐带。同樣,如果設(shè)置了 search 屬性伦籍,那么瀏覽器就會(huì)重新裝載附加了新的查詢字符串的 URL腮出。

除了 URL 屬性外利诺,Location 對(duì)象的 reload() 方法可以重新裝載當(dāng)前文檔剩燥,replace() 可以裝載一個(gè)新文檔而無須為它創(chuàng)建一個(gè)新的歷史記錄,也就是說灭红,在瀏覽器的歷史列表中,新文檔將替換當(dāng)前文檔君珠。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末娇斑,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子毫缆,更是在濱河造成了極大的恐慌,老刑警劉巖浸颓,帶你破解...
    沈念sama閱讀 219,110評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旺拉,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡晋涣,警方通過查閱死者的電腦和手機(jī)沉桌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人赌莺,你說我怎么就攤上這事】嫒牛” “怎么了翠订?”我有些...
    開封第一講書人閱讀 165,474評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵尽超,是天一觀的道長梧躺。 經(jīng)常有香客問我,道長巩踏,這世上最難降的妖魔是什么续搀? 我笑而不...
    開封第一講書人閱讀 58,881評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮彪杉,結(jié)果婚禮上牵咙,老公的妹妹穿的比我還像新娘。我一直安慰自己霜大,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評(píng)論 6 392
  • 文/花漫 我一把揭開白布曙强。 她就那樣靜靜地躺著途茫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪囊卜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,698評(píng)論 1 305
  • 那天雀瓢,我揣著相機(jī)與錄音玉掸,去河邊找鬼。 笑死泊业,一個(gè)胖子當(dāng)著我的面吹牛把沼,可吹牛的內(nèi)容都是我干的饮睬。 我是一名探鬼主播,決...
    沈念sama閱讀 40,418評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼捆愁,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼牙瓢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起矾克,我...
    開封第一講書人閱讀 39,332評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤胁附,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后控妻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體揭绑,經(jīng)...
    沈念sama閱讀 45,796評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評(píng)論 3 337
  • 正文 我和宋清朗相戀三年菇存,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了依鸥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,110評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡贱迟,死狀恐怖絮供,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情壤靶,我是刑警寧澤,帶...
    沈念sama閱讀 35,792評(píng)論 5 346
  • 正文 年R本政府宣布袍榆,位于F島的核電站塘揣,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏才写。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望辛孵。 院中可真熱鬧,春花似錦疑务、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至涤垫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間雹姊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評(píng)論 1 272
  • 我被黑心中介騙來泰國打工敦姻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留歧杏,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,348評(píng)論 3 373
  • 正文 我出身青樓旺入,卻偏偏與公主長得像,于是被迫代替她去往敵國和親茵瘾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容