最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
javascript实现用户点击数量统计的教程
时间:2016-12-26 编辑:简简单单 来源:一聚教程网
在微信上做一次推广活动,页面共计三个按钮,需要分别统计点击次数,pc上的相关统计用的是“百度统计”,因为H5活动页的时效性等原因,并没有使用百度统计,而是自己实现一个简单的统计小方案:前端点击时请求一个空白小gif图,带有参数,后端同事根据nginx请求日志做统计,通过在cookie中存入一个不会重叠的时间戳作为key值来区分是否同一用户(uv)。
请求的图片存在七牛中,是固定不变的,主要变化是后面两个参数:用户标识uid和按钮标识,其中生成不重复(把重复率降到最低)的用户标识很有意思。
时间戳用new Date().getTime()得出一个13位的“随机数”,精确到毫秒,但万一同一毫秒有两个以上用户点击呢?于是再严谨一些,用for循环在随机一个5位字符串拼接,这样的重复率绝对够用:
uid =newDate().getTime();
varrandomNumber ='';
for(vari = 0 ; i < 5 ; i ++){
randomNumber +=newString (Math.floor(Math.random() * 10));
}
uid = uid + randomNumber;
|
下面是具体逻辑代码,当网页中已有请求图片时,更改url的参数也一样能从新发起一个get请求,避免每次点击都append一张图片。这种实现方法感觉比点击发送ajax更加方便。
statistics:function(position){
varpic ="http://wx.daigj.com/notification/statistics/p.gif";
varuid = util.readCookie("uid");
varimgLength = $("#statistics-img").length;
if(uid){
if(imgLength == 0){
}else{
$("#statistics-img").attr("src",pic+"?uid="+uid+"&position="+position);
}
}else{
uid =newDate().getTime();
varrandomNumber ='';
for(vari = 0 ; i < 5 ; i ++){
randomNumber +=newString (Math.floor(Math.random() * 10));
}
uid = uid + randomNumber;
util.createCookie("uid",uid);
}
}
|
-
上一个: javascript中数据类型转换详解
-
下一个: js智能下拉插件select2使用教程
相关文章
- 使用JavaScript判断用户输入的是否为正整数(两种方法) 03-15
- 什么叫wipe,安卓用户如何去wipe? 01-06
- ECMAScript对象模型之组与用户操作教程 06-08
- javascript 判断用户ie版本信息代码 02-17
- Javascript根据用户浏览信息判断是否为国内外IP 11-25
- 取得的IP/用户名等信息 01-18