检测 JavaScript 警告

Detect JavaScript warnings

本文关键字:警告 JavaScript 检测      更新时间:2023-09-26

我有一个网站暂时打开另一个选项卡/窗口。 一旦它不再相关或不再需要,它的脚本就会调用window.close() 。 但是,用户可能偶尔将该 URL 添加为书签或以其他方式手动访问它,而不是由于第一个/主窗口以编程方式打开它而到达那里。

在这种情况下,我注意到.close()调用会导致控制台(Chrome 48)上出现警告。 我知道这是一项安全功能,并且完全没问题。

我想做的是检测调用不起作用(或不会)并执行其他操作 - 在我的情况下,向用户显示一条闪存消息,说明他们应该手动关闭选项卡/窗口。

我尝试了下面的代码,但意识到由于没有抛出异常,因此永远不会命中捕获。 有没有办法做我想做的事?

try {
  window.close();
}
catch (e) {
  showFlashMessage('Error closing tab.  Please close it manually.'); // Never gets here :(
}
我想

您应该能够通过检查window.opener来检测您的窗口是否是弹出窗口。如果没有这样的其他窗口,您可能无法.close()自己。