我试图做到这一点:Attatching的setTimeout()从窗口window.opener在卸载回调
$(function() {
var parent = window.opener;
$(window).bind('unload', function() {
parent.setTimeout(function() {
parent.console.log('Fired!');
}, 200);
}
});
上面的例子行之有效的FF,铬等,但不是IE8。在后者中,setTimeout()中指定的回调似乎永远不会被触发。
理由是我想在父窗口(window.opener)中执行一些代码,当一个弹出窗口关闭时。我希望弹出窗口对此负责,而不是相反。
只是为了证明这一概念的作品:
$(function() {
var parent = window.opener;
$(window).bind('unload', function() {
parent.console.log('Fired!');
}
});
绑定到卸载回调立即调用的console.log(如上面的例子)似乎在所有的浏览器是工作(这里不针对IE6) ,但只要我将setTimeout()添加到混音中就会中断。
可能吗?这是范围问题吗?
Aww无益。猜猜我必须尝试不同的方法。 是否有可能将回调函数从“孩子”传递给父母?评论可能不是代码的好地方,但我在想: parent。$(parent).trigger('myEvent',{'callback':function(){alert('foo')) ;}); 我已经尝试了上述和回调似乎也被绑定到子窗口。有没有办法解决这个问题? – peterfarsinsen 2010-08-10 16:19:12