我有客户要求调整系统中的某些旧功能。当前文件具有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打开过的窗口无法关闭。我不确定解决此问题的最佳方法是什么?感谢您的帮助。
答案 0 :(得分:-1)
从技术上讲,不允许脚本关闭用户打开的页面,而不是由脚本本身打开页面。这是浏览器的安全问题。我知道有一些技巧,但是据我所知,这样的事情很快得到了修补。从技术上讲,您可以使用脚本来打开窗口,而不是使用某些click事件等,但这还是可以解决的。签出https://developer.mozilla.org/en-US/docs/Web/API/Window/close