如何在网页关闭前,通过ajax把访问行为返回后台??

我想在网页关闭时,把采集到的访问信息ajax到服务器,现有代码大概如下,实测不可行。

window.onbeforeunload=function(e){    
    visit_end=new Date();
    visit_long=((visit_end.getTime()-visit_start.getTime())/1000).toFixed(1);
    //此处省略以上采集的访问信息

    ajax_visit_info(); //在关闭网页时,调用ajax函数发送到后台。
    //return confirm('你真的要关闭吗?');     //不想加上这个,看起来不友好。    
}

实测,后台压根没有接收到……!蛋!疼!

请问有什么方法??在不影响友好的情况下……

阅读 3.4k
3 个回答

onbeforeunload 是不靠谱的,有些浏览器不支持,而且不支持回调里的异步任务。

Service workers需要现代浏览器支持

所以还是基于其他事件触发吧

这个应该就是数据上报吧,你可以看一下百度上报的实现

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题