或者

提高织梦DedeCMS文章内容加载速度的小方法

作者:月光边境 浏览:115 发布时间:2018-05-10
分享 评论 0

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