说说window顶级对象

230 阅读2分钟

wecom-temp-9f4e3086e861b16dd54a0ab88dc43936.png

window相关属性

window关键词在ES5非严格模式下,一般等于this,指的是浏览器窗口。

top

获取浏览器的最顶层窗口

parent

获取当前窗口的父级窗口

self

获取当前自身窗口

frames

当前文档中所有包含的iframe的集合。frames对象指向当前Window对象,真正的iframe集合以数组和Window对象属性的形式挂载到Window对象上。

document

对当前文档的只读引用

histtory

对当前历史记录的只读引用

closed

返回当前窗口是否关闭

name

返回当前窗口的名称

opener

  • 返回对创建该窗口的Window对象的引用
  • 可以通过该属性调用创建者Window对象的属性和方法,从而控制创建者窗口的内容变化
  • 如果被打开的页面和当前页面不在同一个域下,被打开的页面中opener为空

screen

返回对当前屏幕Screen的只读引用

location

返回对当前地址的只读引用

innerHeight & innerWidth

  • 只读属性
  • 返回窗口的文档显示区高度和宽度,不包括菜单栏、工具栏和滚动条等高度
  • IE不支持该属性,以clientHeight & clientWidth代替

screenLeft & screenTop & screenX & screenY

  • 只读属性
  • 返回浏览器窗口在屏幕上的x坐标和y坐标
  • 移动端无实际意义,因为移动端浏览器窗口始终是全屏幕打开的,这些数据会一直都是0

scrollBy(xnum,ynum)

  • 滚动条滚动多少像素

scrollTo(xnum,ynum)

  • 滚动到某个坐标

close

  • 仅能通过js调用
  • 对移动端无效

open

  • 打开一个新窗口,当不指定新打开窗口菜单配置时,在ie9+等现代浏览器上,会默认打开一个标签页
  • 移动端不能使用

navigator

  • 返回对Navigator对象的引用

特殊情况

只有一个窗口时

window.parent == window == window.self == window.top

参考资料

  1. 原生DOM系列-Window对象