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

来自:互联网
时间:2019-08-09
阅读:
免费资源网 - https://freexyz.cn/

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

免费资源网 - https://freexyz.cn/
返回顶部
顶部