我想在网页关闭时,把采集到的访问信息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('你真的要关闭吗?'); //不想加上这个,看起来不友好。
}
实测,后台压根没有接收到……!蛋!疼!
请问有什么方法??在不影响友好的情况下……
onbeforeunload 是不靠谱的,有些浏览器不支持,而且不支持回调里的异步任务。
Service workers需要现代浏览器支持
所以还是基于其他事件触发吧
只能 Service Worker 了
这个应该就是数据上报吧,你可以看一下百度上报的实现