织梦Dede文章页调用文章浏览次数

使用 dedecms 建站时,在文章页的信息页面,官方给出的调用文章浏览次数的标签是:

  1. {dede:field.click/}
 

这个标签调用的是静态浏览次数,也就是我们生成文章时的那个随机生成的浏览次数,这里不论在文章页怎么刷新都不会增加浏览次数,用户体验十分差。
网上有解决方法,即把调用标签换为:

  1. <script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}&cid={dede:field name='channel'/}" type='text/javascript' language="javascript"></script>

这样一来就能实现动态调用文章浏览次数,刷新一次增加一次,但是用过之后发现一个问题,每次页面加载到这个地方都会卡顿一下,因为这里是 js 调用,每次都要向服务器请求一次,这里的标签是及时加载,到这里肯定会卡顿,研究之后给出一种最优的解决方案。具体的思路为:我们可以先自定义一个数字(余斗定义的是 0)。当网页先进行加载时,是加载我们事先预定好的数字,然后通过网页最后的加载 JS 调用真正的点击次数。具体步骤为:
1、在点击次数的位置用 span 标签定义一个点击次数

  1. <span id="countnum">0</span>次

2、修改 Dede 核心函数,找到 plus/count.php 中

  1. echo "document.write('".$row['click']."');\r\n";

大概在 25 行,换成

  1. echo 'document.getElementById("countnum").innerHTML='.$row['click'];

3、在网页底部添加 js 代码

  1. <script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}" type='text/javascript' language="javascript"></script>

把 js 添加在网页底部就能完美解决载入浏览次数时卡顿的问题用用体验很好,至此,就实现了文章页动态调用文章浏览次数。

猜你喜欢

转载自www.cnblogs.com/pz777/p/11796099.html