搜索

首页  >  问答  >  正文

javascript - 如何在网页关闭前,通过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('你真的要关闭吗?');     //不想加上这个,看起来不友好。    
}

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

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

天蓬老师天蓬老师2707 天前915

全部回复(3)我来回复

  • 滿天的星座

    滿天的星座2017-07-05 11:02:43

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

    Service workers需要现代浏览器支持

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

    回复
    0
  • PHP中文网

    PHP中文网2017-07-05 11:02:43

    只能 Service Worker 了

    回复
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-07-05 11:02:43

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

    回复
    0
  • 取消回复