架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2481|回复: 3

[JavaScript] JS 判断当前页面是否是 Iframe 或者 Popup 窗口

[复制链接]
发表于 2022-7-30 10:27:58 | 显示全部楼层 |阅读模式
window

在应用有frameset或者iframe的页面时,有几个窗口的概念

window.self:是对当前窗口自身的引用。与window、 window.self等价
window.parent:返回父窗口。
window.top:返回最顶级的父窗口(有的窗口中套了好几层frameset或者iframe)

JS 判断当前页面是否是 Iframe 窗口

当前页面没有父窗口时,window.parent和window.top都返回对当前窗口的引用。
可以通过判断window.parent或window.top是否是当前窗口来区分当前页面是否在iframe中。

或者

QQ截图20220730102244.jpg

JS 判断当前页面是否是 Popup 窗口

判断当前窗口是不是通过 window.open 方式打开的。

某些浏览器会在某些情况下将window.opener设置为window。这是我现在使用的最可靠的弹出式检查。

QQ截图20220730102731.jpg

汇总

判断当前是否是顶级窗口或者 Iframe 或者 Popup 窗口

(完)





上一篇:StackBlitz 前端项目在线编辑和分享
下一篇:HTML5 之 PostMessage 跨窗口通信
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2022-7-30 10:42:58 | 显示全部楼层
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2022-7-30 22:08:00 | 显示全部楼层
HTML5 之 PostMessage 跨窗口通信
https://www.itsvse.com/thread-10343-1-1.html
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2022-8-1 11:01:15 | 显示全部楼层
有用·这个学习了;
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-18 08:13

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表