DedeCMS文章页动态调用文章实时浏览次数
使用DedeCMS建站时,官方给出的调用文章浏览次数的标签是:
{dede:field.click/}
但是,这个标签调用的是静态浏览次数,也就是我们生成文章时的那个随机生成的浏览次数,生成后的浏览次数无法与实际点击同步增长,用户体验较差。
为此,有网友研究出通过动态调用的实时点击数的解决方法,即把调用标签换为:
<scriptsrc="{dede:fieldname='phpurl'/}/count.php?view=yes&aid={dede:fieldname='id'/}&mid={dede:fieldname='mid'/}&cid={dede:fieldname='channel'/}"type='text/javascript'language="javascript"></script>
这样一来就能实现动态调用文章浏览次数,每刷新一次浏览量就回增加一次,但是用这种方法调用数据会导致页面加载到这个位置时出现卡顿,因为通过js调用数据,每次都要向服务器请求一次,标签数据加载的过程中肯定会出现卡顿现象,经反复研究,可通过先显示一个自定义数据的方法优化解决加载卡顿的问题,具体的思路为:首先自定义一个数字(0)。当网页先进行加载时,是加载我们事先预定好的数字,然后通过网页最后的加载JS调用真正的点击次数。实现步骤如下:
1、在点击次数的位置用span标签定义一个点击次数
<spanid="countnum">0</span>次
2、修改Dede核心函数,找到plus/count.php中
echo"document.write('".$row['click']."');\r\n";
大概在25行,换成
echo'document.getElementById("countnum").innerHTML='.$row['click'];
3、在网页底部添加js代码
<scriptsrc="{dede:fieldname='phpurl'/}/count.php?view=yes&aid={dede:fieldname='id'/}&mid={dede:fieldname='mid'/}"type='text/javascript'language="javascript"></script>
至此,就可完美实现文章页动态调用实时浏览次数。
{dede:field.click/}
但是,这个标签调用的是静态浏览次数,也就是我们生成文章时的那个随机生成的浏览次数,生成后的浏览次数无法与实际点击同步增长,用户体验较差。
为此,有网友研究出通过动态调用的实时点击数的解决方法,即把调用标签换为:
<scriptsrc="{dede:fieldname='phpurl'/}/count.php?view=yes&aid={dede:fieldname='id'/}&mid={dede:fieldname='mid'/}&cid={dede:fieldname='channel'/}"type='text/javascript'language="javascript"></script>
这样一来就能实现动态调用文章浏览次数,每刷新一次浏览量就回增加一次,但是用这种方法调用数据会导致页面加载到这个位置时出现卡顿,因为通过js调用数据,每次都要向服务器请求一次,标签数据加载的过程中肯定会出现卡顿现象,经反复研究,可通过先显示一个自定义数据的方法优化解决加载卡顿的问题,具体的思路为:首先自定义一个数字(0)。当网页先进行加载时,是加载我们事先预定好的数字,然后通过网页最后的加载JS调用真正的点击次数。实现步骤如下:
1、在点击次数的位置用span标签定义一个点击次数
<spanid="countnum">0</span>次
2、修改Dede核心函数,找到plus/count.php中
echo"document.write('".$row['click']."');\r\n";
大概在25行,换成
echo'document.getElementById("countnum").innerHTML='.$row['click'];
3、在网页底部添加js代码
<scriptsrc="{dede:fieldname='phpurl'/}/count.php?view=yes&aid={dede:fieldname='id'/}&mid={dede:fieldname='mid'/}"type='text/javascript'language="javascript"></script>
至此,就可完美实现文章页动态调用实时浏览次数。
除特别声明为原创作品以外,本站有部分文章、数据、图片来自互联网,一切转载作品其版权均归源网站或源作者所有。
如果侵犯了你的权益请来信告知我们删除。邮箱:116169014@qq.com