首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IE中为异步调用触发window.onbeforeunload?

问在IE中为异步调用触发window.onbeforeunload?
EN

Stack Overflow用户
提问于 2012-04-24 07:13:42
回答 1查看 451关注 0票数 0
代码语言:javascript
复制
window.onbeforeunload = function (e) {
    someFunction();
}

显然,只要有页面刷新,就会调用someFunction()。但在internet Explorer中,只有当有部分页面加载时,才会调用someFunction()。我如何才能防止这种情况发生?或者,我如何添加一个带有jQuery的事件侦听器,该侦听器在进行异步调用时触发?

EN

回答 1

Stack Overflow用户

发布于 2012-04-24 07:21:19

您可以绑定到任何数量的它们。有关列表,请参阅http://api.jquery.com/category/ajax/。

例如,使用$.ajaxSetup(),我可以设置一个函数在每个请求之前运行:

代码语言:javascript
复制
$.ajaxSetup({
  beforeSend: function() {
   console.log( 'New request going out.' ) 
  }
});

您可能还希望在调用完成后运行逻辑,在这种情况下,您可以将函数应用于传递给$.ajaxSetup()的对象的complete成员

代码语言:javascript
复制
$.ajaxSetup({
  complete: function() {
    console.log( 'Call completed.' );
  }
});

这些方法有几个参数,如果您执行的逻辑需要知道哪些请求是明确发出的,则可能需要使用这些参数。例如,Complete将传递给jQuery使用的XHR对象,以及调用返回的状态。

代码语言:javascript
复制
$.ajaxSetup({
  complete: function( jqHXR, status ) {
    console.log( 'Completed: ' + status );
  }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10289561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档