JavaScript学习笔记(十)
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属性先看看是否可以这样做。