【问题标题】:Window.close working sometimes and sometimes notWindow.close 有时工作有时不工作
【发布时间】:2013-01-14 04:04:49
【问题描述】:

根据Mozilla, 如果没有使用 window.open() 打开窗口,则 window.close() 在 FF 中将不起作用;

我们在一个项目中实现了 ExtJS,并打开了一个带有锚标记和 target='_blank' 的新窗口/选项卡。在新窗口中,有一个带有 js 代码的关闭按钮:'window.close();'。

根据 mozilla 标准,这段代码根本不应该工作,但奇怪的是它在某些情况下工作,在某些情况下不工作。

谁能提供一些提示/建议或解决方法?

【问题讨论】:

  • 您想要一种解决方法来解决有时有效但根本不应该有效的问题?只需删除代码和链接。问题解决了。
  • 我认为你误读了一些东西。 window.close() 仅适用于使用 window.open() 打开的窗口。您正在尝试关闭名为window.open() 的窗口。反过来,它没有以这种方式打开,因此无法关闭。
  • @GolezTrol:您能建议任何解决此问题的方法吗?令人惊讶的是,它有时会起作用,因此拒绝解决方案变得更加重要。
  • @Yoshi:好的,我知道了,已经从我的问题中删除了代码。

标签: javascript


【解决方案1】:

试试:

window.open('', '_self', '');
window.close();

在 iOS 版 Chrome 上遇到了一些问题(在其他浏览器中它工作得很好)。对于该呼叫,在超时 > 300 后关闭,如 here

所述

所以代码应该是这样的:

window.open('', '_self', '');
setTimeout(window.close, 1000);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多