文章浏览计数问题的解决办法

原创 暗潮  2008-08-26 21:02:45  阅读 196 次 评论 1 条
【版权声明】本站部分文章来自网络,欢迎转载本人原创文章、图片,请提供本博客中相应文章的链接。
请勿将原创图片、文章用于商业用途!对于给您带来的不便表示抱歉!!
本站所分享的影视作品均转自网络,仅供测试和学习交流。请在下载后24小时内删除,请购买/支持正版。
若有侵权,请留言告知,万分感谢!

   最近一段时间以来,文章的浏览数总是显示为0,仔细回想一下,应该是自己换用新的 主题 以后出现的问题,今天终于有时间好好的解决一下这个问题,从Zblogger论坛上搜索了一下,终于找到了解决的方法,原来是现在用的模板里面的一个语句出现了错误!!修改模板,并重建文件以后终于好了!!这样的一个不应该细节问题,出现错误的还真不少,不过,风格主题的模板出现错误好像有点哦!!
----------------------
b_article-multi.html是博客摘要的模板, b_article-single.html 是文章内页文章部分的模板。两者存在很多类似的地方,导致很多人修改<h6 class="post-footer">...</h6>这部分的时候忽视了细节问题,以为两者是相同的。其实不然,两者的计数代码是不同的。
b_article-multi.html应该是下面的,strBatchView代表只显示浏览的数字,并不负责计算,打开页面不增加计数。
<script language="JavaScript" type="text/javascript">
strBatchView+="spn<#article/id#>=<#article/id#>,"</script>

b_article-single.html应该是下面的,strBatchCount负责计算,每打开一次页面就增加一个数。
代码:
<script language="JavaScript" type="text/javascript">
strBatchCount+="spn<#article/id#>=<#article/id#>,"</script>

前者覆盖后者,就会导致浏览数不增加。后者覆盖前方,刷新首页则每篇文章都会同时增加浏览数。
------------------------------------------
如何刷新浏览计数和显示浏览计数
1、刷新浏览计数在打开单页日志后产生,每刷新一次,计数加1
需要修改b_article-single.html模板
在你认为合适的位置加入以下代码,span标签就是当前文章的浏览次数。
代码: <span id="spn<#article/id#>"></span>
<script language="JavaScript" type="text/javascript">
strBatchCount+="spn<#article/id#>=<#article/id#>,"</script>

2、显示浏览计数只排列在列表页,如首页和分类页。动态加载,不随当前页刷新累加。
需要修改b_article-multi.html模板
在你认为合适的位置加入以下代码,span标签就是每个文章的浏览次数。

代码:  <span id="spn<#article/id#>"></span>
<script language="JavaScript" type="text/javascript">
strBatchView+="spn<#article/id#>=<#article/id#>,"</script>
3、注意:
在 TEMPLATE\ default.html,single.html,catalog.html 等页面的头部和尾部(指<body ></ body>内)都要有如下代码计数器才能正常工作,默认模板已经包含这些代码。
加在头部的代码:

 <script language="JavaScript" type="text/javascript">
        var strBatchView="";
        var strBatchInculde="";
        var strBatchCount="";
</script>
加在尾部的代码:
<script language="JavaScript">
try{
        var elScript = document.createElement("script");
        elScript.setAttribute("language", "JavaScript");
        elScript.setAttribute("src", "<#ZC_BLOG_HOST#>function/c_html_js.asp?act=batch"+"&view=" + escape(strBatchView)+"&inculde=" + escape(strBatchInculde)+"&count=" + escape(strBatchCount));
        document.getElementsByTagName("body")[0].appendChild(elScript);
        }
catch(e){};
</script>

本文地址:http://wu2007.cn/post/2008/226.html
版权声明:本文为原创文章,版权归 暗潮 所有,欢迎分享本文,转载请保留出处!
【版权声明】本站部分文章来自网络,欢迎转载本人原创文章、图片,请提供本博客中相应文章的链接。
请勿将原创图片、文章用于商业用途!对于给您带来的不便表示抱歉!!
本站所分享的影视作品均转自网络,仅供测试和学习交流。请在下载后24小时内删除,请购买/支持正版。
若有侵权,请留言告知,万分感谢!

发表评论


表情

评论列表

  1. 暗潮
    暗潮 2009-06-24 18:57:49  回复

    @为了解决计数问题,废了不少的功夫,不过总算能够实现了!呵呵,欢迎多多光临!!

  2. 卢松松
    卢松松  @回复

    嗯嗯。。
    但不明白strBatchCount在程序中是如何实现的!