計時器
setTimeOut(),setInterval() 與clearInterval 是客戶端重要的全局函數(shù)菌瘫,定義為window的重要方法递惋,但是為通用函數(shù),其實不會對窗口做什么事情。
setTimeOut()和setInterval()可以作為字符串傳入椿疗。如果這么做,那個字符串會在指定的超時時間或間隔之后進(jìn)行求值糠悼。html5還允許setTimeOut()和setInterval()傳入額外參數(shù)届榄,并在調(diào)用函數(shù)時把這些參數(shù)傳遞過去。
注意:
- 如果是以0毫秒的時間來調(diào)用setTimeOut()倔喂,那么指定的函數(shù)不會立刻執(zhí)行铝条,相反他會把他插入到隊列當(dāng)中,等到前面處于等待狀態(tài)的事件處理程序執(zhí)行完成后席噩,再立即調(diào)用它班缰。
- 如果想使用clearInterval 來清除掉循環(huán)器,那么與其配套的setInterval的參數(shù)應(yīng)該是一個函數(shù)名悼枢,而非匿名函數(shù)埠忘。
URL
瀏覽器定位和導(dǎo)航可以使用 window的location對象 或者document.location.
兩者是時時全等
window.location === document.location
document.url屬性也可以獲得頁面的地址,但是這個地址是文檔首次加載后保存文檔的URL的靜態(tài)字符串。如果定位到文檔的片段標(biāo)示符莹妒,location對象會更新假丧,但是url不會。
location的屬性
document.URL
"http://wiki.corp.qunar.com/pages/viewpage.action?pageId=68331893#name"
location.protocol
"http:"
location.host
"wiki.corp.qunar.com"
location.hostname
"wiki.corp.qunar.com"
location.port
""
location.pathname
"/pages/viewpage.action"
location.search
"?pageId=68331893"
location.hash
"#name"
重新載入文檔方式
location.assgin()
location.replace()
location.reload()
location可寫屬性动羽,可以使用絕對或是相對的方式設(shè)置頁面包帚,也可以設(shè)置他的屬性。
location='http://www.baidu.com';
location='page2.html'//載入下一個頁面
location='#top'
location.search='?page='+(page+1)
瀏覽歷史
window.history 引用的是History對象运吓,使用 back forward go控制渴邦。
歷史解決方案 可以采用jquery。
navigator對象
該屬性引用的是包含瀏覽器廠商和版本信息的Navigator對象拘哨。
navigator.appName
"Netscape"http://除了IE以外 基本都市網(wǎng)景
navigator.appVersion
"5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4"
//標(biāo)志為第四代還是第五代瀏覽器 沒有標(biāo)準(zhǔn)的格式谋梭,因此不能使用它來判斷瀏覽器類型
navigator.userAgent
"Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4"
//瀏覽器嗅探通常使用該屬性進(jìn)行判斷,通常使用正則表單式進(jìn)行判斷
navigator.platform
"MacIntel"
//瀏覽器運行的操作系統(tǒng)
navigator.onLine
true//表示是否聯(lián)網(wǎng)
Screen 對象
屬性availWidth和availHeight指的是實際可用的顯示大小倦青,他排除了像桌面任務(wù)欄這樣的特性所占的空間瓮床。
屬性colorDepath表示bits-per-pixel 的值
對話框
alert();
confirm();
prompt();
confirm 和 prompt會產(chǎn)生阻塞 。alert在不同瀏覽器里表現(xiàn)不同产镐,有的瀏覽器中也會產(chǎn)生阻塞隘庄。
錯誤處理
onerror屬性是一個事件處理函數(shù),當(dāng)未捕獲的異常傳播到調(diào)用棧上時就會調(diào)用它癣亚。
三個參數(shù)丑掺,第一個是描述錯誤的消息,第二參數(shù)是一個字符串述雾,它存放引發(fā)錯誤的Javascript代碼所在的文檔的Url街州。第三參數(shù)是文檔中發(fā)生錯誤的行數(shù)。
window.onerror = function(msg,url,line){
if(onerror.num++ < onerror.max){
alert("Error:" + msg + "\n" + url + ":" + line);
return true;
}
}
onerror.max = 3;
onerror.num = 0;