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)
解决您的问题的方法是使用该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 的这个线程中还描述了另一种方法。
完整归因于该线程堆栈溢出的作者