一、window对象
1. 框架中window
(1) name属性
window的属性,即框架frame的名字。
(2) top对象
指向最外层框架。
(3) parent对象
指向直接上层框架。
(4) self对象
始终指向window。
2. window的位置
(1) screenLeft、screenTop(IE、Opera、Safari、Chrome)
窗口相对于屏幕左边和上边的位置。
(2) screenX、screenY(FireFox、Safari、Chrome)
同上。
注意:在IE、Opera中,screenLeft和screenY把工具栏也考虑了,所以最大化时不是0;而Safari、Chrome、FireFox最大化则为0。
(3) moveTo()、moveBy()
接收2个参数:moveTo是新位置的坐标值,moveBy是水平和垂直要移动的像素数。
3. window的大小
(1) innerWidth、innerHeight、outerWidth、outerHeight(≥IE8才有)
注意:在Chrome中,inner和outer值相同;其它outer指整个浏览器窗口,inner指除去边框后。
(2)document.documentElement.clientWidth、document.documentElement.clientHeight、document.body.clientWidth、document.body.clientHeight(≤IE8也有)
注意:在IE6的标准模式下用documentElement,混杂模式下用body;在Chrome下则都可以。
(3) resizeTo()、resizeBy()
接收2个参数:resizeTo是新宽度和新高度,moveBy是宽度差和高度差。
4. 导航和打开窗口
(1) open()
接收4个参数:URL(必选)、窗口目标(已有窗口或框架名称)、一个特性字符串(新窗口特性)、一个表示新页面是否取代历史记录中当前加载页面的布尔值。返回一个指向新窗口的引用。
(2) close()
仅适用于通过window.open()打开的弹出窗口。
(3) closed属性、opener属性
5. 间歇调用和超时调用
(1) setTimeout()、setInterval ()
接收2个参数:要执行的代码、以毫秒表示的时间。JavaScript会有一个任务队列,把添加进来的任务按添加顺序执行。
最佳实践:一般用超时调用来模拟间歇调用,因为间歇调用可能会导致后一个调用在前一个调用结束前启动。
(2) clearTimeout ()、clearInterval()
6. 系统对话框
(1) alert()
(2) confirm()
(3) prompt()
注意:以上三个方法都是同步、模态的,调用时代码会暂停执行。
(4) find()
(5) print()
二、location对象
注意:location既是window的对象又是document的对象,window.location和document.location引用的是同一个对象。
1. 属性
8个属性 |
---|
hash |
host |
hostname |
href |
pathname |
port |
protocol |
search |
注意:这些属性可写,每次修改后页面都会重新加载。
2. 位置操作
(1) assign()
改变窗口的网址(即位置)。
(2) replace()
同assign(),但去到新的位置后无法后退(后退按钮失效)。
(3) reload()
重新加载当前页面。
注意:如果要强制从服务器重新加载(而不是从缓存),则要加一个true参数。
三、navigator对象
IE中有window.clientInformation,Opera有window.opera,但window.navigator是通用的。
1. 属性
略。(各种属性和方法)
2. 检测插件
(1) navigator.plugins数组(非IE浏览器)
数组每一项都包含以下属性:name、description、filename、length(插件所处理的MIME类型数量)。
注意:IE浏览器则是用ActiveXObject类型(COM对象)来表示插件的,检测IE插件就是new一个该类型并传入要检测的插件名称,看有没有报错来确定插件存不存在。
3. 注册处理程序
以下两个方法可以让站点指明它可以处理特定类型的信息。
(1) registerContentHandler()
接收3个参数:要处理的MIME类型、可以处理该MIME类型的页面的URL以及应用程序的名称。
(2) registerProtocolHandler()
接收3个参数:要处理的协议(mailto、ftp等)、处理该协议的页面的URL以及应用程序的名称。
四、screen对象
只用来表明客户端的能力,包括浏览器窗口外部的显示器信息(像素宽高等)。
1. 属性和方法
略。
五、history对象
1. 属性和方法
(1) go()
接收1个参数:数字或字符串,表示在历史记录中前进或后退的步数或最近的某个页面。
(2) back()、forward()
注意:这两个方法不接收参数,只能进或退1页。
(3) length属性
历史记录的数量。