【问题标题】:The javascript window.close() does not workjavascript window.close() 不起作用
【发布时间】:2021-06-09 07:41:54
【问题描述】:

我有一个打开新窗口的页面。在此窗口上有关闭按钮。关闭按钮工作正常。

<input type="button" onClick="javascript:window.close()" value="Close Window" class="uportal-button" style="position: absolute; right: 3px; top: 5px; z-index: 1;">

在这个页面上,我有一个 html 表单和保存按钮。如果您保存页面,然后单击“关闭”。关闭按钮不起作用。

有关如何解决此问题的任何建议。我尝试了来自window.close and self.close do not close the window in Chrome 文章的建议,但没有奏效

【问题讨论】:

  • 当你提交表单时,它会重新加载一个新页面吗?是你控制代码的页面吗?
  • 看起来当我保存页面时,它不是打开窗口的页面。有没有办法可以编写一个函数来循环遍历所有父/子窗口并关闭它们。
  • 也尝试了以下解决方法,但得到“未捕获的类型错误:无法读取 null 的属性 'postMessage'”
  • 我有一个应用程序,它打开一个窗口来通过另一个服务进行 oauth。当其他服务重定向回我的站点时,我只需在脚本标记中调用 window.close() 即可。我还不断检查我的应用程序,它打开了newWindow.closed 的窗口,所以我知道它什么时候关闭。

标签: javascript


【解决方案1】:

Window.close() 方法关闭当前窗口或调用它的窗口。

只能在使用Window.open() 方法的脚本打开的窗口上调用此方法。如果窗口不是由脚本打开的,控制台会出现类似这样的错误:Scripts may not close windows that not open by script.

有关详细信息,请参阅文档 here

【讨论】:

  • 我们不知道这是否回答了这个问题,这就是为什么我在评论部分询问是否是这种情况。目前这只是假设。
  • 好的,我明白了。我没有很好理解。谢谢
猜你喜欢
  • 1970-01-01
  • 2020-09-20
  • 2012-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多