window 对象
window 对象有双重角色,既是 JS 访问浏览器窗口的接口,又是 ECMA 规定的 Global 对象
窗口关系及框架
如果页面中包含框架,则每个框架都拥有自己的 window 对象,顶层窗口的 window 对象 可以使用 top
来访问,框架对象的 window 对象包含在顶层框架 的 frames
集合中,每个 window 对象 都有一个自己的名字
窗口大小
window.outerWidth、window.outerHeight
: 浏览器窗口大小
window.innerWidth、window.innerHeight
: 页面视图区大小
document.documentElement.clientWidth、document.documentElement.clientHeight
: 页面视图区大小
导航和打开窗口
window.open
: 该方法可以导航到一个特定的 URL,也可以打开一个新的标签页,可以接收四个参数: 目标URL、窗口目标( _blank, _self, _top, _parent )、一个特性字符串、一个布尔值表示新打开的标签是否取代当前页面在历史记录中的值,返回一个对象,使用 window.close
关闭该对象指向的打开的窗口
如果传递了第二个参数,并且该参数是已有窗口或框架的名字,则在该框架或者窗口中加载指定 URL
定时器
setTimeout
: 接收两个参数,要执行的函数或者字符串,定时时间( 毫秒 ),会在 定时时间 间隔之后执行 函数 一次,返回一个ID,唯一标识该定时器,可以 使用 clearTimeout
将其停掉
setInterval
: 接收两个参数,要执行的函数或者字符串,定时时间( 毫秒 ),会在每个 定时时间 间隔之后执行 函数 一次,返回一个ID,唯一标识该定时器,可以 使用 clearTimeout
将其停掉
location对象
location 对象提供了和当前窗口中加载的文档有关的信息,还提供了一些导航功能, window.location 和 document.location 指向同一个对象
属性:
hash
: URL 中的 hash 字符串,以 # 开头host
: 服务器名称和端口号hostname
: 服务器名称href
: 当前URL,location.toString()
也返回该值pathname
: 返回 URL 的 pathport
: 端口protocol
: 协议search
: 查询字符串, ? 开头
位置操作
location.assign
: 立即打开新 URL 参数( 注意是完整的URL ),并在历史记录中生成一条记录
将 location.href
或者 window.location
设置为新的 URL 也会调用上述函数
改变任意 location 对象的属性都会导致页面 URL 的修改
location.replace
: 改变URL,将上一个页面的历史记录替换为新URL的
location.reload
: 如果不传入参数,则会在缓存可用的情况下使用缓存,若想强制不使用缓存,则可以传递一个 true
参数
位于 reload 之后的代码 可能会 也 可能不会 执行