博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端怎么做用户行为统计分析
阅读量:5816 次
发布时间:2019-06-18

本文共 1462 字,大约阅读时间需要 4 分钟。

1.解释

用户行为统计分析,是指在获得网站访问量基本数据的情况下,对有关数据进行统计、分析,从中发现用户访问网站的规律,并将这些规律与网络营销策略等相结合,从而发现目前网络营销活动中可能存在的问题,并为进一步修正或重新制定网络营销策略提供依据。这是狭义的只指网络上的用户行为分析。

2.思路

用户行为分析.png

3.前端能做什么

前端行为流程图.png

3.1获取性能数据

如何获取页面性能数据请看【】

3.2发送信息到服务器

从网页上收集的信息要发送到服务器存储,以下我总结了三种方式:

ajax

优点

  • 兼容性好。

缺点

  • 在异步情况下关闭页面时会导致服务器接收不到请求,因为页面关闭时,浏览器会自动忽略掉在卸载(unload)事件中的异步XMLHttpRequest。所以,如果需要在卸载页面之前发送信息需要使用同步的ajax,但在unload里使用同步的ajax请求会使得页面卸载延迟到ajax请求回来之后,倘若ajax请求的时间很久,用户体验会非常不好。
/*** ajax请求* @param url 路径* @param data 数据* @param async 是否同步* @returns {Function}*/function ajax({url, data = {}, async = true}) {  return new Promise((resolve, reject) => {    var client = new XMLHttpRequest()    client.onreadystatechange = function () {      var responseText = client.responseText      if (client.readyState === 4 && client.status === 200) {        resolve(JSON.parse(responseText))      }    }    client.open('get', url, async)    client.setRequestHeader('Content-Type', 'text/plain;charset=UTF-8')    client.send()  })}复制代码

伪图片请求

优点

  • 兼容性好。

缺点

  • 同上,这种方法在unload执行时还是会延迟页面的加载。
  • 没有返回信息,对于图片请求的方式服务器只会返回一个1x1的图片流,不能接收到其他信息。
function imgLog ({url, data}) {  let queryData = Lang.queryStr(data) // 这里把数据序列化  let img = new Image()  img.src = url + (queryData ? ('?' + queryData) : '')}复制代码

navigator.sendBeacon

可用于通过HTTP将少量数据异步传输到Web服务器。该方法专门是为了满足“统计和诊断代码”的需求而出现的

优点

  • 将会在有机会时异步地向服务器发送数据,同时不会延迟页面的卸载或影响下一导航的载入性能。这就解决了提交分析数据时的所有的问题:使它可靠,异步并且不会影响下一页面的加载。

缺点

  • 兼容性不好
if (navigator.sendBeacon) {  navigator.sendBeacon(url);}复制代码

转载地址:http://bfhbx.baihongyu.com/

你可能感兴趣的文章
初学者对Spring MVC的认识
查看>>
gensim-5个学习阶段
查看>>
【自用】Android 关于surfaceview调用宿主Activity中的方法
查看>>
栈和队列的面试题Java实现【重要】
查看>>
概率与信息论---独立性和条件独立性
查看>>
mysql 常见错误解决方式
查看>>
【读书】正则指引-1-字符组
查看>>
StarUML建模工具全平台破解及license验证简要分析
查看>>
Android 快速开发系列 打造万能的ListView GridView 适配器
查看>>
gradle命令行的运行
查看>>
Cocos2d-x 3.2在mac下android的环境配置
查看>>
程序中获取编译时的时间日期
查看>>
Linux防火墙工具Firestarter
查看>>
常用设计模式
查看>>
进程题目锦集
查看>>
spring feign使用笔记
查看>>
Redis持久化
查看>>
商业市场和消费市场的基本区别
查看>>
c基础(打印出菱形图案)
查看>>
linux 终端乱码
查看>>