织梦dedecms默认的文章内容页模板里面我们可以看到很多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这个函数我们只需要放在文章最后面,等文章全部加载完了之后再显示点击次数也没关系。经过这两步,你会发现文章的加载速度会快不少。