提高DedeCMS文章内容加载速度的两个小方法

时间:2014-07-19

织梦默认的文章内容页模板里面我们可以看到很多js,这些js加载会影响文章的现实速度,所以我们需要给它优化一下。
我们可以把这些JS里面的内容提取出来,然后放在一个js文件里面,以后只要下载一个js文件就可以了,可以减少服务器请求次数,从而提高加载速度!不过注意要把JS里的路径根据自己的情况稍作修改。

另外就是文章加载到点击次数那里卡住了,有时差不多要几秒钟,感觉很不好,因为这里是在查询文章的点击次数,影响了速度。这里我们可以用AJAX方式优化一下,具体做法如下:
修改模板把下面的这段代码:

<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>


替换为:

<span id="article_click"></span>


然后在前面所说的统一的JS文件里加入一个JS函数引用内容如下:

function getClick(aid,mid){
var taget_obj = document.getElementById('article_click');
myajax = new DedeAjax(taget_obj,false,false,'','','');
myajax.SendGet2("/plus/count.php?ajax=yes&mid=" +mid +"&aid=" +aid);
DedeXHTTP = null;
}


最后修改plus/count.php文件,在exit()之前加入以下的代码:

if(!empty($ajax)){
    $row = $dsql->GetOne(" Select click From `{$maintable}` where {$idtype}='$aid' ");
    if(is_array($row)){
        echo $row['click'];
    }
}


然后把模板里面的

<script language="javascript" type="text/javascript">getDigg({dede:field.id/});</script>


改为:

<script language="javascript" type="text/javascript">getClick({dede:field name='id'/},mid={dede:field name='mid'/});getDigg({dede:field.id/});</script>


其实getClick这个函数我们只需要放在文章最后面,等文章全部加载完了之后再显示点击次数也没关系。经过这两步,你会发现文章的加载速度会快不少。

上一条:DedeAMPZ安装使用及卸载过程中常见问题的解决办法 下一条:dedecms会员列表标签调用详解

相关文章

最新文章