本文转载于不蒜子
一、安装脚本(必选)
要使用统计次数必须在页面中引入busuanzi.js,目前最新版如下:
<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
任何类型的个人站点使用,如果你是用的hexo,打开themes/你的主题/layout/_partial/footer.ejs添加上述脚本即可,当然你也可以添加到 header 中。
二、安装标签(可选)
只需要复制相应的html标签到你的网站要显示访问量的位置即可。您可以随意更改不蒜子标签为自己喜欢的显示效果,内容参考第三部分扩展开发。根据你要显示内容的不同,这分几种情况。
1、显示站点总访问量
要显示站点总访问量,复制以下代码添加到你需要显示的位置。有两种算法可选:
算法a:pv的方式,单个用户连续点击n篇文章,记录n次访问量。
本站总访问量<span id="busuanzi_value_site_pv"></span>次
算法b:uv的方式,单个用户连续点击n篇文章,只记录1次访客数。
本站访客数<span id="busuanzi_value_site_uv"></span>人次
如果你是用的hexo,打开themes/你的主题/layout/_partial/footer.ejs添加即可。
实例效果参考:
https://blog.ccswust.org/busuanzi/
2、显示单页面访问量
要显示每篇文章的访问量,复制以下代码添加到你需要显示的位置。
算法:pv的方式,单个用户点击1篇文章,本篇文章记录1次阅读量。
本站总访问量<span id="busuanzi_value_site_pv"></span>次
代码中文字是可以修改的,只要保留id正确即可。
注意:不蒜子为保持极简,暂不支持在站点文章摘要列表中(如首页)逐个显示每篇文章的阅读次数,如果您非常需要这一功能,可以留言。根据需要程度再考虑开发相应的功能。
实例效果参考:
https://blog.ccswust.org/busuanzi/pv.html
注意:不蒜子为保持极简,暂不支持在站点文章摘要列表中(如首页)逐个显示每篇文章的阅读次数,如果您非常需要这一功能,可以留言。根据需要程度再考虑开发相应的功能。
3、显示站点总访问量和单页面访问量
本站访客数<span id="busuanzi_value_site_uv"></span>人次
实例效果参考:
https://blog.ccswust.org/busuanzi/ip.html
4、只计数不显示
只安装脚本代码,不安装标签代码。
至此,统计计数已经可以正常运行,如果你还要自定义一些内容或有疑问,请继续阅读。
附录:扩展开发(自定义)
-
busuanzi_value_site_pv 的作用是异步回填访问数,这个id一定要正确。
-
busuanzi_container_site_pv的作用是为防止计数服务访问出错或超时(3秒)的情况下,使整个标签自动隐藏显示,带来更好的体验。这个id可以省略。
因此,你也可以使用极简模式:
本站总访问量<span id="busuanzi_value_site_pv"></span>次本站访客数<span id="busuanzi_value_site_uv"></span>人次本文总阅读量<span id="busuanzi_value_page_pv"></span>次
或者个性化一下:
Total <span id="busuanzi_value_site_pv"></span> views.您是xxx的第<span id="busuanzi_value_site_uv"></span>个小伙伴<span id="busuanzi_value_page_pv"></span> Hits
1、我只要统计不显示? 只引入busuanzi.js,不引入显示标签即可。
2、你的标签太丑了,我想美化一下可以么? 可以的,您可以用自己站点的css进行控制,只要内层span的id正确以便回填访问次数即可,甚至标签都可以不是span。
3、中文字体太丑了,我的主题不适合? 您可以将本站总访问量xxx次改成view xxx times等英文以获得更和谐的显示效果。
4、在访问量数据未取回来之前,我不想让页面显示为诸如“本站总访问量 次”,显得太low,怎么办? 只需要如下css,执行完毕会自动将标签显示出来,其他以此类推:
<span id="busuanzi_container_site_pv" style='display:none'> 本站总访问量<span id="busuanzi_value_site_pv"></span>次</span>
上面的做法还是很low?!看下这个https://blog.ccswust.org/busuanzi/diy.html 右键看下源码,没加载出来前就显示个菊花转转转: 首先,你要引入font-awesome字体:
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">或<link rel="stylesheet" href="//cdn.bootcss.com/font-awesome/4.3.0/css/font-awesome.min.css">
其次,修改标签:
<span id="busuanzi_value_page_pv"><i class="fa fa-spinner"></i></span> Hits或(旋转效果)<span id="busuanzi_value_page_pv"><i class="fa fa-spinner fa-spin"></i></span> Hits
和谐多了!
5、我的网站已经运行一段时间了,想初始化访问次数怎么办?请先注册登录,自行修改阅读次数。
原文网站:不蒜子 | 给网站、博客文章添加阅读次数统计,我用两行代码 搞定计数 - 腾讯云开发者社区-腾讯云 (tencent.com)
第二给网站加上访客统计—你是第位访客
<SCRIPT language=JavaScript>
<!--
var caution = false
function setCookie(name, value, expires, path, domain, secure) {
var curCookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "")
if (!caution || (name + "=" + escape(value)).length <= 4000)
document.cookie = curCookie
else
if (confirm("Cookie exceeds 4KB and will be cut!"))
document.cookie = curCookie
}
function getCookie(name) {
var prefix = name + "="
var cookieStartIndex = document.cookie.indexOf(prefix)
if (cookieStartIndex == -1)
return null
var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)
if (cookieEndIndex == -1)
cookieEndIndex = document.cookie.length
return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))
}
function deleteCookie(name, path, domain) {
if (getCookie(name)) {
document.cookie = name + "=" +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT"
}
}
function fixDate(date) {
var base = new Date(0)
var skew = base.getTime()
if (skew > 0)
date.setTime(date.getTime() - skew)
}
var now = new Date()
fixDate(now)
now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000)
var visits = getCookie("counter")
if (!visits)
visits = 1
else
visits = parseInt(visits) + 1
setCookie("counter", visits, now)
document.write("欢迎光临本站,您是第" + visits + "位访问者!")
// -->
</SCRIPT>