`

页面行为/性能/错误监控的上报方式

 
阅读更多

在页面unload时,如果要上报当前数据,采用xhr的同步上报方式,会阻塞当前页面的跳转;使用new Image有可能遇到aborted,导致无法成功发送。

 

上报方式主要有两种:

    1. (new Image()).src = "xxxxxxx.do?xxx=aaaa&....." (GET方式,需要考虑数据大小,这样即使页面跨域也没问题)
    2.navigator.sendBeacon (POST方式,即使页面切换也能在后台进行,需要考虑浏览器兼容及缓冲区大小)
    

在不跨域的情况下建议优化使用navigator.sendBeacon, 防止丢数据。在不支持的情况下再使用new Image 来发送。

在上报过程中页面发生跳转则请求很可能会中止掉,这时建议事件先缓存一份,未接收到成功响应时,在下一个页面继续发送 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics