【发布时间】:2016-07-12 23:47:48
【问题描述】:
我正在维护一个大型应用程序。在某些区域,我必须检查当前窗口是弹出窗口(使用 window.open() 打开)还是新窗口(使用 target="_blank" 打开新选项卡或窗口)。
这是我的问题的一个例子:
function CancelOutOfPage(cancelPath) {
if (cancelPath != null && cancelPath != "" && window.opener == null) {
location.href = cancelPath;
} else if (referrerUrl != "" && window.opener == null) {
// Just go back
location.href = referrerUrl;
} else {
// It is a popup, close it.
// MY PROBLEM IS HERE. IF THE WINDOW IS NOT A POPUP, BUT A AN OPENED PAGE
// THE WHOLE WINDOW WILL CLOSE
window.close();
}
}
【问题讨论】:
-
@ZuraSekhniashvili 我做到了,但如果我理解正确,我们可以确定窗口是否在“弹出窗口内或 target=_blank 窗口内”,如果 window.opener 是不为空。但是如何检查我是在弹出窗口内,还是在 target=_blank 内?
-
@VinShahrdar 是否从您的应用程序中打开了新的
window? -
@guest271314 是的,来自许多不同的来源。
标签: javascript jquery google-chrome popup