40

我正在尝试使用 JavaScript 关闭一个子窗口,在 Firefox 中一切正常,但在 Chrome 中,窗口没有关闭。

这是我正在使用的

$(document).ready(function() {
    if (window.opener && !window.opener.closed)
        window.opener.location = "http://www.website.com"
    window.close();
});

我在google上尝试了一个建议,但无济于事。

任何有类似问题或知道解决方法的人?

4

6 回答 6

86

我知道这个问题很老,但我遇到了同样的问题。这对我有用:

window.open('', '_self', ''); //bug fix
window.close();
于 2010-03-25T02:00:49.770 回答
10

如果以前您通过以下方式打开其他窗口window.open()

这不起作用:

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

但是工作:

window.open(...);
setTimeout(function(){
    window.open('', '_self', '');
    window.close();
}, 100);
于 2010-04-14T08:21:24.243 回答
2

像这样的东西也应该起作用:

setTimeout(function() {
    window.close();
},50);
于 2010-05-05T21:34:33.657 回答
1

我认为它在 Chrome Kiosk(全屏)模式下工作。尝试成功。

于 2012-04-23T13:37:45.820 回答
1

top.window.close() 对我有用。在 IE、FF、Chrome、Safari 和 Opera 上测试。

于 2013-06-14T17:17:13.590 回答
0

这对我有用

var win = window.open("about:blank", "_self");
win.close();
于 2014-12-03T23:20:56.543 回答