javascript实现用户点击数量统计
程序员文章站
2022-09-27 13:48:09
在微信上做一次推广活动,页面共计三个按钮,需要分别统计点击次数,pc上的相关统计用的是“百度统计”,因为h5活动页的时效性等原因,并没有使用百度统计,而是自己实现一个简单的...
在微信上做一次推广活动,页面共计三个按钮,需要分别统计点击次数,pc上的相关统计用的是“百度统计”,因为h5活动页的时效性等原因,并没有使用百度统计,而是自己实现一个简单的统计小方案:前端点击时请求一个空白小gif图,带有参数,后端同事根据nginx请求日志做统计,通过在cookie中存入一个不会重叠的时间戳作为key值来区分是否同一用户(uv)。
请求的图片存在七牛中,是固定不变的,主要变化是后面两个参数:用户标识uid和按钮标识,其中生成不重复(把重复率降到最低)的用户标识很有意思。
时间戳用new date().gettime()得出一个13位的“随机数”,精确到毫秒,但万一同一毫秒有两个以上用户点击呢?于是再严谨一些,用for循环在随机一个5位字符串拼接,这样的重复率绝对够用:
uid = new date().gettime(); var randomnumber = ''; for(var i = 0 ; i < 5 ; i ++){ randomnumber += new string (math.floor(math.random() * 10)); } uid = uid + randomnumber;
下面是具体逻辑代码,当网页中已有请求图片时,更改url的参数也一样能从新发起一个get请求,避免每次点击都append一张图片。这种实现方法感觉比点击发送ajax更加方便。
statistics: function(position){ var pic = "http://wx.daigj.com/notification/statistics/p.gif"; var uid = util.readcookie("uid"); var imglength = $("#statistics-img").length; if(uid){ if(imglength == 0){ $('body').append('<img id="statistics-img" src="' + pic + '?uid='+ uid + '&position='+ position +'"/>'); }else{ $("#statistics-img").attr("src",pic+"?uid="+uid+"&position="+position); } }else{ uid = new date().gettime(); var randomnumber = ''; for(var i = 0 ; i < 5 ; i ++){ randomnumber += new string (math.floor(math.random() * 10)); } uid = uid + randomnumber; util.createcookie("uid",uid); $('body').append('<img id="statistics-img" src="' + pic + '?uid='+ uid + '&position='+ position +'"/>'); } }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
上一篇: 系统的讲解 - PHP 浮点数高精度运算
推荐阅读
-
实现超用户体验 table排序javascript实现代码_javascript技巧
-
php统计中文数量的简单实现方法
-
javascript - 怎么实现用户打开视频地址的时候不播放而是下载
-
关于javascript中限定时间内防止按钮重复点击并自增的实现教程
-
txt-在php中用TXT文件记录的功能实现统计并显示链接点击次数
-
使用hibernate的criteria实现统计数量及多表查询
-
使用hibernate的criteria实现统计数量及多表查询
-
JS实现点击链接取消跳转效果的方法_javascript技巧
-
javascript实现点击图片切换
-
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法