如何知道如果一个窗口可以关闭与js

How know if a window can be closed with js

本文关键字:js 窗口 一个 如果 何知道      更新时间:2023-09-26

因此,正如在其他地方讨论的那样,只有在脚本打开窗口时,js才能使用window.close()关闭窗口。

我有一个页面提供了一个打开讨论窗口的按钮。讨论窗口打开到一个带有window.open()的新选项卡。讨论页有一个按钮,调用window.close(),关闭讨论窗口,带你回到上一个标签,所以你可以从你离开的地方继续。

问题是,如果有人把url直接放到讨论窗口,关闭按钮就不起作用了。

是否有一种方法来检测窗口是否将与window.close()关闭,所以我可以显示按钮只有当它将工作?

您可以检查window.opener是否为null:

当一个窗口从另一个窗口打开时,它维护一个引用敬第一个打开窗户的人。如果当前窗口没有这个方法返回NULL。Windows Phone浏览器则没有支持window.opener。它也不支持在IE中,如果打开在不同的安全区域。

你可以尝试使用window.opener对象,它返回打开当前窗口的窗口的引用(如果它是另一个窗口),或者NULL,如果当前窗口没有通过JS打开。

if (window.opener) //Show button