因此,在其他地方已经讨论过,只有在脚本打开的情况下,js才能使用window.close()
关闭窗口。
我有一个页面,提供了一个打开讨论窗口的按钮。讨论窗口将打开一个包含window.open()
的新标签页。讨论页面有一个调用window.close()
的按钮,该按钮关闭讨论窗口并将您带回到上一个选项卡,这样您就可以从上次停止的地方继续。
问题是,如果有人将网址直接带到讨论窗口,则关闭按钮不起作用。
有没有办法检测窗口是否可以使用window.close()
关闭,所以我只能在按钮显示时才能显示该按钮?
答案 0 :(得分:9)
您可以查看window.opener
是否不是null
:
从另一个窗口打开窗口时,它会保留一个引用 到window.opener的第一个窗口。如果当前窗口没有 在opener中,此方法返回NULL。 Windows Phone浏览器没有 支持window.opener。如果开启者,IE也不支持它 在不同的安全区域。
答案 1 :(得分:3)
您可以尝试使用window.opener
对象,它返回对打开当前窗口的窗口的引用(如果它是另一个窗口),或NULL
如果当前窗口未通过JS打开。
if (window.opener) //Show button