【问题标题】:Best way to open/close browser window?打开/关闭浏览器窗口的最佳方式?
【发布时间】:2019-04-05 22:09:25
【问题描述】:

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

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

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

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 打开新窗口,而不是使用target

标签: javascript browser href


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    • 1970-01-01
    • 2014-08-29
    • 1970-01-01
    • 1970-01-01
    • 2017-12-08
    • 1970-01-01
    相关资源
    最近更新 更多