打开/关闭浏览器窗口的最佳方法?

时间:2019-04-05 14:02:21

标签: javascript browser href

我有客户要求调整系统中的某些旧功能。当前文件具有href链接,如下所示:

<a href="page_detail.cfm?id=#id#" target="_blank">#Name#</a>

如果您看上面的代码,您会看到target="_blank"页面将在新的浏览器窗口中打开。但是,如果用户单击OK/Cancel中的page.detail.cfm按钮,则希望能够关闭该窗口。我尝试使用以下代码关闭浏览器窗口:

var closeBtn = document.getElementById('btn_cancel');
closeBtn.addEventListener('click', cancel);
function cancel(){
    window.close();
}

在测试代码并单击开发工具中的Cancel消息后,如下所示:

Scripts may not close windows that were not opened by script.

我猜想如果以前未使用JavaScript打开过的窗口无法关闭。我不确定解决此问题的最佳方法是什么?感谢您的帮助。

1 个答案:

答案 0 :(得分:-1)

从技术上讲,不允许脚本关闭用户打开的页面,而不是由脚本本身打开页面。这是浏览器的安全问题。我知道有一些技巧,但是据我所知,这样的事情很快得到了修补。从技术上讲,您可以使用脚本来打开窗口,而不是使用某些click事件等,但这还是可以解决的。签出https://developer.mozilla.org/en-US/docs/Web/API/Window/close