在微信上做一次推广活动,页面共计三个按钮,需要分别统计点击次数,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 +'"/>');
}
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# js
# 统计
# js实现统计字符串中特定字符出现个数的方法
# JavaScript统计字符串中每个字符出现次数完整实例
# javascript实现的网站访问量统计代码
# javascript实现动态统计图开发实例
# JavaScript统计网站访问次数的实现代码
# JSP实现网页访问统计
# JavaScript实现网站访问次数统计代码
# JS基于cookie实现来宾统计记录访客信息的方法
# Javascript实现字数统计
# JS实现统计复选框选中个数并提示确定与取消的方法
# 的是
# 随机数
# 已有
# 时请
# 很有意思
# 上做
# 推广活动
# 后端
# 有两个
# randomNumber
# getTime
# lt
# brush
# var
# pre
# class
# strong
# gif
# nginx
相关文章:
如何通过NAT技术实现内网高效建站?
西安专业网站制作公司有哪些,陕西省建行官方网站?
如何确保FTP站点访问权限与数据传输安全?
详解jQuery停止动画——stop()方法的使用
实惠建站价格推荐:2025年高性价比自助建站套餐解析
制作企业网站建设方案,怎样建设一个公司网站?
长沙企业网站制作哪家好,长沙水业集团官方网站?
常州自助建站费用包含哪些项目?
教学论文网站制作软件有哪些,写论文用什么软件
?
自助网站制作软件,个人如何自助建网站?
简单实现Android文件上传
学校为何禁止电信移动建设网站?
seo网站制作优化,网站SEO优化步骤有哪些?
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
如何在局域网内绑定自建网站域名?
开源网站制作软件,开源网站什么意思?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
建站之星北京办公室:智能建站系统与小程序生成方案解析
简历在线制作网站免费,免费下载个人简历的网站是哪些?
,网页ppt怎么弄成自己的ppt?
如何在腾讯云服务器快速搭建个人网站?
网站app免费制作软件,能免费看各大网站视频的手机app?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
如何快速建站并高效导出源代码?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
Android自定义控件实现温度旋转按钮效果
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
C++如何编写函数模板?(泛型编程入门)
平台云上自助建站如何快速打造专业网站?
建站上市公司网站建设方案与SEO优化服务定制指南
制作网站公司那家好,网络公司是做什么的?
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
已有域名和空间如何搭建网站?
Swift开发中switch语句值绑定模式
大连网站设计制作招聘信息,大连投诉网站有哪些?
建站之星伪静态规则如何设置?
建站org新手必看:2024最新搭建流程与模板选择技巧
网站微信制作软件,如何制作微信链接?
如何通过西部建站助手安装IIS服务器?
建站之星24小时客服电话如何获取?
建站之星官网登录失败?如何快速解决?
css网站制作参考文献有哪些,易聊怎么注册?
岳西云建站教程与模板下载_一站式快速建站系统操作指南
建站之星如何一键生成手机站?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
如何获取开源自助建站系统免费下载链接?
*请认真填写需求信息,我们会在24小时内与您取得联系。