【发布时间】:2018-12-26 10:50:52
【问题描述】:
我在page_a.php 中有一个链接,它使用target="_blank" 在新标签页中打开。
<a href="page_b.php" target="_blank">Open Page B</a>
在页面 B 我有一个脚本,一旦用户不再查看它,它将自动关闭选项卡/窗口。我的脚本如下所示:
<script type="text/javascript">
function handleVisibilityChange() {
if (document.visibilityState == "hidden") {
window.close();
console.log("hidden");
} else {
console.log("shown");
}
}
document.addEventListener('visibilitychange', handleVisibilityChange, false);
</script>
所以我有:
localhost/test/page_a.php //loads jQuery
localhost/test/page_b.php //doesn't load jQuery
在page_b.php 我收到警告:
脚本只能关闭它打开的窗口。
既然我实际上是打开窗户的人,有没有办法让它工作?
【问题讨论】:
-
必须使用 JavaScript 的
window.open()打开窗口,而不是使用<a href="..." target="...">链接。 -
你可以试试这个解决方案:stackoverflow.com/a/16127147/6512745 :)
标签: javascript php tabs dom-events dom-manipulation