织梦静态文章浏览访问点击次数动态变化方法
{dede:field.click/}
这个标签调用的是数据库中文章访问的次数,生成静态网页一同生成该次数,生成后不论文章页怎么刷新都不会增加浏览次数,用户体验不佳。
网上有解决方法,即把调用标签换为:
<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标签定义一个点击次数
<span id=”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代码
<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添加在网页底部就能完美解决Js载入浏览次数时卡顿的问题,用用体验较好