window.parent、window.top、window.frames 与 window.frameElement

window.top、window.parent、window.self

window.top: 顶层窗口,即最上层的窗口;
window.parent: 父窗口,如果一个窗口没有父窗口,则它的parent属性为自身的引用;
window.self: 当前窗口,即自身的引用;

// 判断当前窗口是否为顶层窗口
if (window.top === window.self) {  // 当前窗口为顶层窗口
}
// 判断当前窗口是子窗口
if (window.parent !== window.self) {   // 当前窗口是子窗口
}

window.frames

  • frames属性是一个类似数组的对象
    因为frames实际上是window对象的别名,frames属性又是可以遍历的,所以它是一个类似数组的对象
    window.frames.length === window.length
  • frames属性实际上是window对象的别名
    window.frames === window
  • frames属性的每一项是框架内的窗口,即框架内的window对象
    frames属性的每一项并不是iframe的dom节点!!!
    若需要获取iframe的dom节点可以通过以下方法:
    frames[0].frameElement

window.frameElement

  • frameElement 返回当前窗口所嵌入的对象元素

示例代码




  
  
  demo
  





参考资料

  1. MDN web docs
  2. JavaScript 标准参考教程(alpha)

你可能感兴趣的:(window.parent、window.top、window.frames 与 window.frameElement)