主要用于测试html的新特性beacon,使用beacon向后端发送请求,代替xhr或jsonp,

好处是支持页面unload(almost left)时能把请求发出

为什么使用beacon

  1. xhr
window.addEventListener('unload', function(event) {
var xhr = new XMLHttpRequest(),
data = captureAnalyticsData(event); xhr.open('post', '/log', false);
xhr.send(data);
}); function captureAnalyticsData(event) {
return 'sample data';
}

注意xhr.open('post', '/log', false)的第三个参数,

false为同步请求,也就是document unload之前必须等待请求发出并响应;

true表示异步请求,在document unload时容易被浏览器遗弃。

  1. jsonp

    jsonp其实就是为script指定一个src,这种情况下浏览器会在document unload前等待资源加载。

beacon特性

  • 只能是post请求
  • 将少量数据发送到服务器,而无需等待响应
  • navigator.sendBeacon有返回值,true表示请求已发出,false表示请求未发出

beacon 示例

https://github.com/huangwenming/learning-notes/tree/master/html-relevant/beacon

关键截图:

beacon请求:

xhr请求:

参考资料

https://www.sitepoint.com/introduction-beacon-api/

https://juejin.im/post/5b694b5de51d4519700fa56a

https://www.jianshu.com/p/606802e40fd5

前端页面统计beacon调研的更多相关文章

  1. vue- 项目之前端页面搭建1

    项目分析 首页 导航.登录注册栏.轮播图.地板导航登录注册 选项卡免费课 课程分类.筛选.课程列表免费课详情 课程封面视频.优惠活动倒计时.选项卡我的购物车 全选.商品价格统计购买结算 购买成功 我的 ...

  2. APP埋点:页面统计与事件统计该如何入手?

    我们平时所说的埋点,可以大致分为两部分,一部分是统计APP页面访问情况,即页面统计:另外一部分是统计APP内的操作行为,及自定义事件统计. 一.页面统计 页面统计,可以统计应用内各个页面的访问次数(P ...

  3. 一个基于React整套技术栈+Node.js的前端页面制作工具

    pagemaker是一个前端页面制作工具,方便产品,运营和视觉的同学迅速开发简单的前端页面,从而可以解放前端同学的工作量.此项目创意来自网易乐得内部项目nfop中的pagemaker项目.原来项目的前 ...

  4. 用github来展示你的前端页面吧

    前言 经常会有人问我如何才能将自己做的静态页面放到网上供他人欣赏,是不是需要自己有一个服务器,是不是还要搞个域名才能访问?对于以上问题我都会回答:用github来展示你的前端页面吧. 工欲善其事,必先 ...

  5. web前端页面性能优化

    影响用户访问的最大部分是前端的页面.网站的划分一般为二:前端和后台.我们可以理解成后台是用来实现网站的功能的,比如:实现用户注册,用户能够为文章发表评论等等.而前端呢?其实应该是属于功能的表现. 而我 ...

  6. 使用原生ajax访问后台数据并将其展现在前端页面中(小菜鸟自己整理玩的,大神勿喷)

    首先你要有php的环境,关于php环境的搭建,php本地站点的搭建,此处不再重复请看这里:http://www.cnblogs.com/Gabriel-Wei/p/5950465.html我们把wam ...

  7. 前端页面使用 Json对象与Json字符串之间的互相转换

    前言 在前端页面很多时候都会用到Json这种格式的数据,最近没有前端,后端的我也要什么都要搞,对于Json对象与Json字符串之间的转换终于摸清楚了几种方式,归纳如下! 一:Json对象转换为json ...

  8. Python之路-(js正则表达式、前端页面的模板套用、Django基础)

    js正则表达式 前端页面的模板套用 Django基础 js正则表达式: 1.定义正则表达式 /.../  用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...

  9. web前端页面项目经验总结

    项目时间:2016年4月5日--4月9日项目名称:阿七果子园web前端页面项目内容:    1.HTML5+CSS+JavaScript(banner+timer)+JQuery(small_bann ...

随机推荐

  1. OpenCV中基于HOG特征的行人检测

    目前基于机器学习方法的行人检测的主流特征描述子之一是HOG(Histogram of Oriented Gradient, 方向梯度直方图).HOG特征是用于目标检测的特征描述子,它通过计算和统计图像 ...

  2. WPF中的菜单模板

    原文:WPF中的菜单模板 资源字典代码如下: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xa ...

  3. beego中各类数据库连接方式

    beego 框架是优秀得go REST API开发框架.下面针对beego中各类数据库连接操作做一个总结. 1. orm连接方式 beego中的orm操作支持三种数据库:mysql,sqlite3,p ...

  4. 受限玻尔兹曼机(RBM)以及对比散度(CD)

    1. RBM 的提出 BM 的缺点: 计算时间漫长,尤其是无约束自由迭代的负向阶段: 对抽样噪音敏感: 流行软件的不支持: 受限玻尔兹曼机(Restricted Boltzmann Machine,简 ...

  5. node express4.x 的安装

    4.x开始不再是 一个express就搞定一切了,需要装另外一个部署插件 具体: 跟着<nodejs开发指南>敲npm install -g express, 安装好了,就在linux命令 ...

  6. IIS基本介绍

    应用程序池-网站-应用程序   1 应用程序池 设置应用程序的各种设置,新建.修改应用程序的时候可以选择应用程序池   2 [站外图片上传中...(image-3924c8-1511163001873 ...

  7. SICP 1.11-1.13

    1.11 递归版本 (define (f n) (cond ((< n ) n) ()) (* (f (- n )) ) (* (f (- n )) ))))) 迭代版本 (define (f ...

  8. JPlayer-MP3播放器(带播放列表)

    第一篇随笔,写的不好的地方,各位不要见笑.其他的也不多说了,下面是我在工作中用的一个基于JQuery开源的插件,官方地址:http://www.jplayer.org/.先看下要实现的效果图: 首先引 ...

  9. Android 开发相关

    1.app下载更新 https://git.oschina.net/lwngreat/UpdateHelper

  10. asp.net文件流下载的代码摘要

    try { var workbook = new XLWorkbook(); if (Workbook != null) { workbook = Workbook; } if (this.Expor ...