Window對象
window對象表示整個瀏覽器視窗,window還可用於移動或調整它表示的瀏覽器的大小。
一、視窗操作
window.moveBy(dx,dy)
把瀏覽器視窗相對當前位置水平移動dx個像素,垂直移動dy個像素。dx值為負數,向左移動視窗,dy值為負數,向上移動視窗。
window.moveTo(x,y)
行動瀏覽器視窗,使它的左上方位於使用者螢幕的(x,y)處。可以使用負數,不過這樣會把部分視窗移出螢幕的可視地區。
window.resizeBy(dw,dh)
相對於瀏覽器視窗的當前大小,把它口的寬度調整dw個像素,高度調整dy個像素。dw為負數,把縮小視窗的寬度,dy為負數,縮小視窗的高度。
window.resizeTo(w,h)
把視窗的寬度調整為w,高度調整為h。不能使用負數。視窗在螢幕上的位置以及它的尺寸。由於缺乏相應的標準,就產生了問題。
二、導航和開啟新視窗
window.open()方法開啟新視窗
該方法接收四個參數:①載入新視窗的URL ②新視窗的名字(為目標所用) ③特性字串 ④說明是否用新載入的頁面替換當前載入的頁面的Boolean值。
第三個參數特性字串的設定列表:
設定 |
值 |
說明 |
left |
Number |
新建立的視窗的左座標,不能為負數* |
top |
Number |
說明新建立的視窗的上座標。不能為負數* |
height |
Number |
設定新建立的視窗的高度。該數字不能小於100* |
width |
Number |
設定新建立的視窗的寬度。該數字不能小於100* |
resizable |
yes,no |
判斷新視窗能否拖動邊線調整大小,預設值是no |
scrollable |
yes,no |
判斷新視窗是否允許滾動,預設值是no |
toolbar |
yes,no |
判斷新視窗是否顯示工具列,預設值是no |
status |
yes,no |
判斷新視窗是否顯示狀態列,預設值是no |
location |
yes,no |
判斷新視窗是否顯示地址欄,預設值是no |
注意:特性字串是用逗號分隔的,因此在逗號或等號前後不能有空格。
window.open()方法將返回window對象作為它的函數值,該window對象就是新建立的視窗(如果給定的名字是已有的架構名,則為架構)。用這個對象,可以操作新建立的視窗。
三、系統對話方塊
這個就不用多寫了。alert()、confirm()、prompt()
四、狀態列
狀態列告訴了使用者何時在載入頁面,何時完成載入頁面,可以通過window的兩個屬性控制:status和defaultStatus
defaultStatus用於定義瀏覽器狀態列的預設顯示內容,但當滑鼠移動到連結上時,狀態列的文字就會改變,移出連結又會變為defaultStatus定義的值。這點區別於status屬性用於臨時改變狀態列內容。
五、時間間隔和暫停
setTimeout()接收兩個參數,第一個參數可以是代碼串也可以是函數指標,第二個參數是執行它之前要等待的毫秒數(1/1000秒)。
要暫停取消則調用clearTimeout()方法,該方法接收一個參數“數字暫停ID”,數字暫停ID是由setTimeout()建立的。setTimeout()返回的是一個數字暫停ID,與作業系統中的進程ID相似。暫停ID本質上是要延遲的進程的ID。
六、曆史
go()方法只有一個參數,即前進或後退的頁面數。如果是負數,就在瀏覽器曆史中後退,如果是整數,就前進。
window.history.go(-1); //後退一頁
window.history.go(1); //前進一頁
或者
history.go(-1); //window對象的引用不是必需的
用back()方法和forward()方法可以實現同樣的操作:
history.back(); //後退一頁
history.forward(); //前進一頁
用length屬性查看曆史中的頁面數:
alert(history.length);
如果想前進或後退多個頁面,可以用length屬性先看看是否可以這樣做。