BOM 的核心對(duì)象是 window疹鳄,它表示瀏覽器的一個(gè)實(shí)例硫兰。
一辉川、window 對(duì)象
1. 窗口位置
IE表蝙、Safari、Opera 和 Chrome 都提供了 screenLeft 和 screenTop 屬性乓旗,分別用于表示窗口相對(duì)于屏幕左邊和上邊的位置府蛇。
Firefox 則在 screenX 和 screenY 屬性中提供相同的窗口位置信息,Safari 和 Chrome 也同時(shí)支持這兩個(gè)屬性屿愚。
2. 窗口大小
IE9+汇跨、Firefox、Safari妆距、Opera 和 Chrome 均為此提供了4個(gè)屬性:innerWidth穷遂、innerHeight、outerWidth娱据、outerHeight蚪黑。
outerWidth、outerHeight 返回瀏覽器窗口本身的尺寸。innerWidth祠锣、innerHeight 表示頁面視圖區(qū)的大小(減去邊框?qū)挾龋┭拾病T?Chrome 中伴网,這4個(gè)屬性返回相同的值,即視口大小而非瀏覽器窗口大小妆棒。
在 IE澡腾、Firefox、Safari糕珊、Opera 和 Chrome 中动分,document.documentElement.clientWidth 和document.documentElement.clientHeight 中保存了頁面視口的信息。
3. 導(dǎo)航和打開窗口
window.open()红选,這個(gè)方法會(huì)返回一個(gè)指向新窗口的引用澜公。
4. 間歇調(diào)用和超時(shí)調(diào)用
超時(shí)調(diào)用需要使用 window 對(duì)象的 setTimeout() 方法,它接收兩個(gè)參數(shù):要執(zhí)行的代碼和以毫秒表示的時(shí)間(即在執(zhí)行代碼前需要等待多少毫秒)喇肋。調(diào)用?setTimeout() 之后坟乾,該方法會(huì)返回一個(gè)數(shù)值 ID,表示超時(shí)調(diào)用蝶防。要取消尚未執(zhí)行的超時(shí)調(diào)用計(jì)劃甚侣,可以調(diào)用 clearTimeout() 方法并將相應(yīng)的超時(shí)調(diào)用 ID 作為參數(shù)傳遞給它。
間歇調(diào)用與超時(shí)調(diào)用類似间学,只不過它會(huì)按照指定的時(shí)間間隔重復(fù)執(zhí)行代碼殷费,直至間歇調(diào)用被取消或者頁面被卸載。設(shè)置間歇調(diào)用的方法是?setInterval()低葫,它接收的參數(shù)與?setTimeout() 相同详羡。要取消尚未執(zhí)行的間歇調(diào)用,可以使用 clearInterval() 方法并傳入相應(yīng)的間歇調(diào)用 ID氮采。
一般認(rèn)為殷绍,使用超時(shí)調(diào)用來模擬間歇調(diào)用的是一種最佳模式。在開發(fā)環(huán)境下鹊漠,很少使用真正的間歇調(diào)用主到,原因是后一個(gè)間歇調(diào)用可能會(huì)在前一個(gè)間歇調(diào)用結(jié)束之前啟動(dòng)。最好不要使用間歇調(diào)用躯概。
5. 系統(tǒng)對(duì)話框
alert()登钥、confirm()、prompt()
二娶靡、location 對(duì)象
location 是最有用的 BOM 對(duì)象之一牧牢,它提供了與當(dāng)前窗口中加載的文檔有關(guān)的信息,還提供了一些導(dǎo)航功能。它既是 window 對(duì)象的屬性塔鳍,也是 document 對(duì)象的屬性伯铣;換句話說,window.location 和 document.location 引用的是同一個(gè)對(duì)象轮纫。
location的所有屬性:hash腔寡、host、hostname掌唾、href放前、pathname、port糯彬、protocol凭语、search。
位置操作
assign() 方法撩扒。location.assign("http://www.wrox.com");
如果是將 location.href 或 window.location 設(shè)置為一個(gè) URL 值似扔,也會(huì)以該值調(diào)用 assign() 方法。例如却舀,下列兩行代碼與顯式調(diào)用 assign() 方法效果完全一樣虫几。
location.;
window.location = "http://www.wrox.com";
最常用的是 location.href 。
replace() 方法挽拔、reload() 方法
三辆脸、navigator 對(duì)象
四、screen 對(duì)象
五螃诅、history 對(duì)象
go()啡氢、back()、forward()