BOM的使用
BOM(Browser Object Model),可以当作是一个访问和操作浏览器的规范,这个规范提供了很多接口,让我们能通过使用JS来访问操作浏览器的功能,具体的BOM实现就有各个浏览器厂家负责完成。
window对象
BOM的核心就是window对象。
浏览器中,window即是JS访问浏览器窗口的一个接口也是ES规范中的Global对象。
所有未声明就赋值的变量会自动变成window对象的属性
window对象常见属性
window.name表示当前浏览器窗口的名字
window.closed表示窗口是否关闭,返回true/false
window.opener表示当前窗口的父窗口,若无父窗口返回null(直接在地址栏输入打开的窗口无父窗口),子窗口opener属性设为null,则两个窗口之间就没有关联了
window.frames表示页面中所有的frame,每个frame都拥有自己的window对象
window.top表示最顶层的窗口,可在有frames的页面中使用(top.frames)
window.parent表示父窗口,没有父窗口则指向自身
window.opener和window.parent的区别:
A页面使用open方法打开B页面,则B页面中window.opener指的父页面是A
A页面使用frame或iframe调用B页面,则B页面中的parent指的父页面是A