您的位置:首页 > Web前端 > JavaScript

Js使用window.parent ,window.top,window.self判断iframe嵌套

2017-12-27 19:07 281 查看
参考:http://blog.csdn.net/u012316120/article/details/51595491
在应用有iframe,甚至含有多层iframe嵌套的页面中,存在有window.parent,window.top,window.self对象,各个对象的含义介绍如下:
 
window.self

功能:是对当前窗口自身的引用。它和window属性是等价的。

语法:window.self

注:window、self、window.self是等价的。

 

window.parent

功能:返回父窗口。

语法:window.parent

注:如果窗口本身是顶层窗口,parent属性返回的是对自身的引用。

 

window.top

功能:返回顶层窗口,即浏览器窗口。

语法:window.top

注:如果窗口本身就是顶层窗口,top属性返回的是对自身的引用;如果窗口仅在一层iframe中,top属性与parent属性等价。

 

通过window.parent ,window.top,window.self可以分别获取当前窗口、父窗口、顶层窗口的对象引用,我们可以使用这三个对象判断是否应用有iframe嵌套或者是否有多层iframe嵌套或实现其它功能,举例如下:

1、 window.top===window.self 为true表示当前窗口就是顶层窗口,没有iframe应用;为false表示当前窗口不是顶层窗口,存在iframe应用。

2、 window.top===window.parent (window.top!==window.self)为true表示父窗口就是顶层窗口,只有一层iframe嵌套;为false表示父窗口不是顶层窗口,存在多层iframe嵌套。

3、 使用不同对象的location. href实现嵌套中指定窗口的跳转;使用不同对象的location. reload()实现嵌套中指定窗口的刷新。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: