04JavaScript事件——BOM、window對象、navigator對象、screen對象、location對象

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"
	}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章