窗口位置:瀏覽器窗口相對于屏幕的坐標值
(screenTop/screenY screenLeft/screenX)
瀏覽器兼容寫法:
var leftPos = ( typeof window.screenLeft == "number") ?
window.screenLeft : window.screenX;
var topPos = ( typeof window.screenTop == "number") ?
window.screenTop : window.screenY;
窗口大小
由于各個瀏覽器實現之間的差異,對于innerWidth、innerHeight、outerWidth、outerHeight的定義不盡相同,所以在此我們無法確定瀏覽器窗口的大小,但是卻可以取得頁面視口的大小。
var pageWidth = window.innerWidth,
pageHeight = window.innerHeight;
if ( typeof pageWidth != "number") {
if (document.compatMode == "CSS1Compat"){
pageWidth = document.documentElement.clientWidth;
pageHeight = document.documentElement.clientHeight;
} else {
pageWidth = document.body.clientWidth;
pageHeight = document.body.clientHeight;
}
}
導航和打開窗口
window.open()
方法接收四個參數:要加載的URL、窗口目標、一個特性字符串以及一個表示新頁面是否取代瀏覽器歷史記錄中當前加載頁面的布爾值。
間歇調用和超時調用
setInterval()
setTimeout()
盡量使用setTimeout,使用setTimeout去模擬setInterval的效果是最佳模式。
location對象
decodeURIComponent()函數
作用:可對encodeURIComponent()編碼的URI進行解碼。
navigator對象
- 檢測插件
- 注冊處理程序
一堆屬性,但是在各個瀏覽器里面的支持情況不一,主要用于檢測插件,在高程的8.3.1.詳細介紹。
screen對象
沒啥屌用
history對象
history.go(整數);
// 后退一頁
history.go(-1);
// 前進一頁
history.go(1);
也可以給go()方法傳遞一個字符串參數:
//跳轉到最近的wrox.com
history.go("wrox.com");
//跳轉到最近的nczo.net頁面
history.go("nczo.net");
還有兩種簡寫方法back()和forward()來代替go()。
// 后退一頁
history.back();
// 前進一頁
history.forward();
history對象還有一個length屬性,保存著歷史記錄的數量。對于加載到窗口、標簽頁和框架中的第一個頁面而言,history.length等于0。通過下面這樣測試該屬性的值,可以確定是否一開始就打開了你的頁面。
if(history.length == 0) {
// 這應該是用戶打開窗口后的第一個頁面
}