给网站、博客文章添加阅读次数统计,我用两行代码 搞定计数

本文转载于不蒜子

一、安装脚本(必选)


要使用统计次数必须在页面中引入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>

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值