网站地图    收藏   

主页 > 前端 > javascript >

浏览器关闭时发送ajax兼容详解

来源:未知    时间:2016-07-07 17:05 作者:xxadmin 阅读:

[导读] 浏览器关闭时发送ajax操作。 当浏览器关闭时,我们往往想执行下某些ajax操作,但是会遇到一些问题, 1: js通过绑定onbeforeunload事件在触发时候调用ajax发送请求到服务器,但是实际上...

浏览器关闭时发送ajax操作。

当浏览器关闭时,我们往往想执行下某些ajax操作,但是会遇到一些问题,


1:js通过绑定onbeforeunload事件在触发时候调用ajax发送请求到服务器,但是实际上页面对象已经释放了,那么在ajax还没有发送成功时候变被终止了。 


window.onbeforeunload = function(){  
      $.ajax('',{});  
}


2:现在做法是通过ajax方式定时发送请求到服务器,但是在多用户情况下这样会给服务器压力。 


setInterval(function(){  
      $.ajax('',{});  
},30000);

解决办法

1.考虑WebSocket方式建立连接来监听用户使用浏览器状态

2.onunload事件处理ajax改成同步发送请求

3.先ajax请求,然后立马alert.alert会阻塞javascript执行器中当前主线程的执行,但ajax启动的线程不是主线程,仍在执行。当用户点完确定后,ajax在后台早执行完了




自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论