是否可以检查脚本是否使用 Javascript 打开了一个窗口?
我有用户协议,它们在新窗口中打开,这有效(当我尝试关闭窗口时)
<a href="JavaScript:window.close()" class="btn btn-default">Return</a>
Run Code Online (Sandbox Code Playgroud)
但我想要完成的是,如果用户直接转到/agreeement并单击关闭,它将他重定向到主页。因为现在如果我这样做,我会收到一条消息
脚本可能只关闭由它打开的窗口。
我明白为什么。这就是为什么我想检查窗口是否未从脚本重定向到 index.html 的位置打开的原因。但我不知道我将如何进行检查
当页面没有被另一个窗口打开时 window.opener 将为 null,因此无法关闭。
这段代码应该可以解决问题:
function goAway() {
if(window.opener === null) {
window.location.href = '<YOUR_DEFAULT_URL>';
}
else {
window.close();
}
}
Run Code Online (Sandbox Code Playgroud)
您可以在此处找到更多详细信息