绑定onbeforeunload并卸载并在一旦发射时移除另一个

时间:2014-03-23 08:32:53

标签: javascript jquery

所以,我正在使用onbeforeunload,但我明白在safari上你不能用它运行ajax ......我需要这样做。因此,对于那些不支持unbeforeunload的浏览器,我将使用unload ..但是,我不希望我的ajax的两次启动适用于支持这两者的浏览器。

所以,只是为了清楚。一旦用户“离开/刷新”页面,我需要触发ajax请求。在大多数流行的浏览器中我需要一个坚实的方法,即ie8 +。

有人可以帮助我解决一旦发生爆炸后如何移除其他绑定吗?

ALA

window.addListener('onbeforeunload', function(){
    // run ajax

})

window.addListender('unload', function(){
    // run ajax
})

无论哪个侦听器首先触发,都会触发并解除另一个侦听器的绑定。我想我不想在我的网站/页面上取消绑定“所有”卸载或onbeforeunloads ..只是我设置的..我可以在jQuery中设置一个名称空间吗? ala ... onbeforeunload.myBind等......

任何帮助都是不受重视的。

1 个答案:

答案 0 :(得分:0)

由于你使用的是jquery,你可以这样做:

$(document).bind('beforeunload', function () {
    // ajax
    $(document).unbind('unload');
}).bind('unload', function () {
    //ajax
    $(document).unbind('beforeunload');
});