BOM:瀏覽器對象模型,包含多個對象有不同的功能
window對象是BOM的頂層對象,其他都是該對象的子對象
window對象:瀏覽器窗口對象,所有的JavaScript全局對象、函數以及變量均會自動成爲window的屬性和方法(對象成員),可以通過window去訪問,默認情況下window可以省略
var a=10;
console.log(a);
console.log(window.a);
window.a=100;
console.log(a)
function sum(){
console.log(3)
}
window.sum();
sum();
window對象屬性和方法
window.screenLeft/screenTop:獲取瀏覽器窗口相對於屏幕的左和上的位置,存在兼容性FF不支持,screenX/screenY(IE不兼容)
innerWidth/innerHeight瀏覽器可視窗口的寬高,在IE8以下用document.documentElement.clientWidth/Height
outerWidth/outerHeight瀏覽器窗口的大小
window.open()打開一個瀏覽器窗口
open(),方法默認情況下打開的是空白窗口,打開窗口沒有back(返回)功能,注意參數位置順序
參數1:字符串,打開窗口的url
參數2:字符串,控制窗口打開方法_self當前頁面打開,無法再返回,默認爲_blank打開新窗口
參數3:字符串,控制窗口大小和位置
window.open("http://www.baidu.com","_blank","width=300,Height=300,top=200,left=300");
navigator對象
瀏覽器嗅探:可獲取當前瀏覽器的信息
瀏覽器嗅探使用:navigator.userAgent,來辨別當前代碼運行在哪個瀏覽器上,得到的值是字符串
各個瀏覽器通過console.log(window.navigator.userAgent)的到的信息
chrome:Chrome Safari
safari:Safari
FF:Firefox
opera:Chrome Safari OPR
判斷運行瀏覽器信息,注意順序:
var str=window.navigator.userAgent;
if(str.indexOf("Firefox")!=-1){
//火狐瀏覽器
}else if(str.indexOf("OPR1")!=-1){
//歐朋瀏覽器
}else if(str.indexOf("Chrome")!=-1){
//谷歌瀏覽器
}else if(str.indexOf("Safari")!=-1){
// safari瀏覽器
}
screen對象
screen對象,包含有關客戶端顯示屏幕的信息,可以獲取當前設備的屏幕尺寸,得到的是屏幕的分辨率,當前設備顯示分辨率不同得到的值也不同
console.log(window.screen.width,window.screen.height)
console.log(window.screen.availWidth,window.screen.availHeight)
location對象
包含地址欄中的相關信息,將信息切段,放在多個屬性中保存
hash:設置或返回從#開始的url錨,即url#後面的部分,包含#得到的是字符串,console.log(location.hash)
hostname:返回當前頁面的主機域名, console.log(location.hostname)
pathname:返回當前頁面的完整路徑以及文件名,console.log(location.pathname)
port0:端口號,console.log(location.port)
protocol:返回web協議,console.log(location.protocol)
reload():重新加載當前頁面,不填寫參數,可能從緩存中加載頁面內容,如果填寫true,那麼久從服務器重新加載
href:設置或返回完整的url,可設置修改,可返回跳轉的頁面,console.log(location.href)
document.onclick=function(){
location.href="http://www.baidu.com"
}