screen对象
- screen 对象在编程中用处并不大,基本是只用来表示客户端的能力。
- 其中包括浏览器窗口外部的显示器的信息,如像素宽度和高度等。
- 每个浏览器中的screen对象都包含着各不相同的属性,下表列出了所有属性及支持相应属性的浏览器。
属 性 | 说 明 | IE | Firefox | Safari/Chrome | Opera |
---|---|---|---|---|---|
availHeight | 屏幕的像素高度减系统部件高度之后的值(只读) | - | | | |
availLeft | 未被系统部件占用的最左侧的像素值(只读) | | | - | |
availTop | 未被系统部件占用的最上方的像素值(只读) | - | | | - |
availWidth | 屏幕的像素宽度减系统部件宽度之后的值(只读) | | | | |
bufferDepth | 读、写用于呈现屏外位图的位数 | | - | - | - |
colorDepth | 用于表现颜色的位数;多数系统都是32(只读) | | | | |
deviceXDPI | 屏幕实际的水平DPI(只读) | | - | - | - |
deviceYDPI | 屏幕实际的垂直DPI(只读) | | - | - | - |
fontSmoothingEnabled | 表示是否启用了字体平滑(只读) | | - | - | - |
height | 屏幕的像素高度 | | | | |
left | 当前屏幕距左边的像素距离 | - | | - | - |
logicalXDPI | 屏幕逻辑的水平DPI(只读) | | - | - | - |
logicalYDPI | 屏幕逻辑的垂直DPI(只读) | | - | - | - |
pixelDepth | 屏幕的位深(只读) | - | | | |
top | 当前屏幕距上边的像素距离 | - | | - | - |
updateInterval | 读、写以毫秒表示的屏幕刷新时间间隔 | | - | - | - |
width | 屏幕的像素宽度 | | | | |
- 这些信息经常集中出现在测定客户端能力的站点跟踪工具中,但通常不会用于影响功能。不过,有时候也可能会用到其中的信息来调整浏览器窗口大小,使其占据屏幕的可用空间。
window.resizeTo(screen.availWidth, screen.availHeight);
history 对象
- history 对象保存着用户上网的历史记录,从窗口被打开的那一刻算起。
- 出于安全方面的考虑,开发人员无法得知用户浏览过的URL。
- 借由用户访问过的页面列表,同样可以在不知道实际URL 的情况下实现后退和前进。
- 使用go()方法可以在用户的历史记录中任意跳转,可以向后也可以向前。这个方法接受一个参数,表示向后或向前跳转的页面数的一个整数值。负数表示向后跳转(类似于单击浏览器的“后退”按钮),正数表示向前跳转(类似于单击浏览器的“前进”按钮)。
//后退一页
history.go(-1);
//前进一页
history.go(1);
//前进两页
history.go(2);
- 也可以给go()方法传递一个字符串参数,此时浏览器会跳转到历史记录中包含该字符串的第一个位置——可能后退,也可能前进,具体要看哪个位置最近。如果历史记录中不包含该字符串,那么这个方法什么也不做。
//跳转到最近的wrox.com 页面
history.go("wrox.com");
//跳转到最近的nczonline.net 页面
history.go("nczonline.net");
- 使用back()和forward()可以模仿浏览器的“后退”和“前进”按钮。
//后退一页
history.back();
//前进一页
history.forward();
- history 对象还有一个length 属性,保存着历史记录的数量。
if (history.length == 0){
//这应该是用户打开窗口后的第一个页面
}