打开窗户并立即关闭

6 javascript firefox google-chrome window

在 JS 中有一种方法可以打开窗口并立即关闭它,它不会在新选项卡中打开,我只想打开一个窗口(如果可能的话,在后台)做一些检查并立即关闭它,没有新标签页打开的效果,这可能吗?

像这样的东西,但没有打开窗口的效果......

 var popup = window.open("http://www.google.com");

popup.close();
Run Code Online (Sandbox Code Playgroud)

更新: 这是我找到的解决方案,但它有时会闪烁,我想避免它...

function goNewWin() {

    var TheNewWin = window.open("http://www.yahoo.com", 'TheNewpop', 'toolbar=1,location=1,directories=1,status=1,menubar=1,scrollbars=1,resizable=1');

    TheNewWin.blur();
    TheNewWin.close();

}
Run Code Online (Sandbox Code Playgroud)

Pri*_*dya 2

解决您的问题的方法是使用该window.postMessage()函数。用于child通知parent窗口已加载并且它也适用于cross domain

孩子

$(window).load(function(){
    this.opener.postMessage({'loaded': true}, "*");
    this.close();
});
Run Code Online (Sandbox Code Playgroud)

家长

$(window).on('message', function(event) {     
    alert(event.originalEvent.data.loaded);
}); 
Run Code Online (Sandbox Code Playgroud)

stackoverflow 的这个线程中还描述了另一种方法。

完整归因于该线程堆栈溢出的作者