JavaScript學習筆記(十)
window對象表示整個瀏覽器窗口,window還可用于移動或調整它表示的瀏覽器的大小。
一、窗口操作
window.moveBy(dx,dy)
把瀏覽器窗口相對當前位置水平移動dx個像素,垂直移動dy個像素。dx值為負數,向左移動窗口,dy值為負數,向上移動窗口。
window.moveTo(x,y)
移動瀏覽器窗口,使它的左上角位于用戶屏幕的(x,y)處??梢允褂秘摂?,不過這樣會把部分窗口移出屏幕的可視區(qū)域。
window.resizeBy(dw,dh)
相對于瀏覽器窗口的當前大小,把它口的寬度調整dw個像素,高度調整dy個像素。dw為負數,把縮小窗口的寬度,dy為負數,縮小窗口的高度。
window.resizeTo(w,h)
把窗口的寬度調整為w,高度調整為h。不能使用負數。窗口在屏幕上的位置以及它的尺寸。由于缺乏相應的標準,就產生了問題。
二、導航和打開新窗口
window.open()方法打開新窗口
該方法接收四個參數:①載入新窗口的URL ②新窗口的名字(為目標所用) ③特性字符串 ④說明是否用新載入的頁面替換當前載入的頁面的Boolean值。
第三個參數特性字符串的設置列表:
設置 |
值 |
說明 |
left |
Number |
新創(chuàng)建的窗口的左坐標,不能為負數* |
top |
Number |
說明新創(chuàng)建的窗口的上坐標。不能為負數* |
height |
Number |
設置新創(chuàng)建的窗口的高度。該數字不能小于100* |
width |
Number |
設置新創(chuàng)建的窗口的寬度。該數字不能小于100* |
resizable |
yes,no |
判斷新窗口能否拖動邊線調整大小,默認值是no |
scrollable |
yes,no |
判斷新窗口是否允許滾動,默認值是no |
toolbar |
yes,no |
判斷新窗口是否顯示工具欄,默認值是no |
status |
yes,no |
判斷新窗口是否顯示狀態(tài)欄,默認值是no |
location |
yes,no |
判斷新窗口是否顯示地址欄,默認值是no |
注意:特性字符串是用逗號分隔的,因此在逗號或等號前后不能有空格。
window.open()方法將返回window對象作為它的函數值,該window對象就是新創(chuàng)建的窗口(如果給定的名字是已有的框架名,則為框架)。用這個對象,可以操作新創(chuàng)建的窗口。
三、系統(tǒng)對話框
這個就不用多寫了。alert()、confirm()、prompt()
四、狀態(tài)欄
狀態(tài)欄告訴了用戶何時在載入頁面,何時完成載入頁面,可以通過window的兩個屬性控制:status和defaultStatus
defaultStatus用于定義瀏覽器狀態(tài)欄的默認顯示內容,但當鼠標移動到鏈接上時,狀態(tài)欄的文字就會改變,移出鏈接又會變?yōu)閐efaultStatus定義的值。這點區(qū)別于status屬性用于臨時改變狀態(tài)欄內容。
五、時間間隔和暫停
setTimeout()接收兩個參數,第一個參數可以是代碼串也可以是函數指針,第二個參數是執(zhí)行它之前要等待的毫秒數(1/1000秒)。
要暫停取消則調用clearTimeout()方法,該方法接收一個參數“數字暫停ID”,數字暫停ID是由setTimeout()創(chuàng)建的。setTimeout()返回的是一個數字暫停ID,與操作系統(tǒng)中的進程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屬性先看看是否可以這樣做。