navigator.sendBeancon方法简介

之因此介绍这个还在草案中的方法,是源于最近新作的一个活动。该活动有个需求,就是用户离开该页面的某个时间段以后,发个请求给该用户送券。后来是经过setTimeout来作的,用户离开该页面,该页面进入后台。这时在页面中设置的定时器依然是有效的,可是不一样手机对这个有效时间的兼容性不同,有长有短。safari浏览器则是暂停的。web

navigator.sendBeacon() 方法能够用来从用户代理向服务器异步地发送小的HTTP数据。这个方法目前还在实验阶段,暂时还没法使用在项目当中。就算不用考虑兼容性,使用场景也比较少。这个方法主要用于知足统计和诊断代码的须要,一般尝试在卸载(unload)文档以前向web服务器发送数据,同时并不会延迟页面的卸载或影响下一导航的载入性能。浏览器

简单的例子以下:服务器

window.addEventListener('unload', logData, false);

function logData() {
    navigator.sendBeacon("/log", analyticsData);
}

详细的介绍参考连接:https://developer.mozilla.org/zh-CN/docs/Web/API/Navigator/sendBeacon#Browser_compatibility异步

以上都是在页面离开,或页面进入后台时能够调用的一些方法的简单整理。若有问题或是其余可用的方法欢迎留言。性能

相关文章
相关标签/搜索