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

问题描述 投票:0回答:1

我要求客户调整系统中的一些旧功能。当前文件有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打开过,则无法关闭该窗口。我不确定解决这个问题的最佳方法是什么?谢谢你的帮助。

javascript browser href
1个回答
-1
投票

从技术上讲,不允许脚本关闭用户已打开的页面,而不是脚本本身打开的页面。这是一个浏览器安全问题。我知道有一些黑客可以使用它,但是这样的事情可以从我能说的内容中快速修补。你可以在技术上用脚本打开窗口而不是某种点击事件等,但这又是一个解决方法。看看https://developer.mozilla.org/en-US/docs/Web/API/Window/close

© www.soinside.com 2019 - 2024. All rights reserved.