优化DEDECMS默认模板 提升网页打开速度

我们有时会发现在使用DEDECMS的默认模板时,访问速度有点慢,经查证这和顶部JS调用以及代码冗余有关。事实上网站程序的优化多数原则是代码简练,减少JS调用等。这里分别从主页、文章列表页、文章内容页来分别介绍DEDE默认模板优化,经测试,优化后,网站速度

我们有时会发现在使用织梦模板的默认模板时,访问速度有点慢,经查证这和顶部JS调用以及代码冗余有关。事实上网站程序的优化多数原则是代码简练,减少JS调用等。这里分别从主页、文章列表页、文章内容页来分别介绍DEDE默认模板优化,经测试,优化后,网站速度有极大提升。
 
一、主页模板(index.htm)
 
下面的JS文件和JS代码可以根据需要情况看是否需要删除,最好能全部删除,但是全部删除会影响一些功能,比如会员登录状态、图文资讯的滚动等,这里个好的方法,就是把所有这里的JS写入一个单独的文件,这样调用时只需要一次就可以了,注意调用的路径。
 
JS文件解释说明
/js/jquery.cookie.js
主要的作用记录换肤功能的cookies,用于保留用户的选择;
 
/js/changeSkin.js
用于换肤功能的具体实现代码;
 
/js/pic_scroll.js
“图文资讯”滚动的地方;
 
/images/js/j.js
经过压缩后的java代码,主要作用是在默认模板中的中间部分的横向滚动的“图片资讯”的地方;
同时,换肤功能也和该功能有关联
 
/include/dedeajax2.js
引入织梦模板 的ajax框架,作用主要是在模板中的一些特效,比如登陆后改变登陆状态、内容页顶与踩、评论列表的支持与反对等等(如果您不需要上述功能,这段代码可以删除);
 
Javascript代码
 
function CheckLogin(){  
  var taget_obj = document.getElementById('_userlogin');  
   myajax = new DedeAjax(taget_obj,false,false,'','','');  
   myajax.SendGet2("{dede:global.cfg_cmspath/}/member/ajax_loginsta.php");  
   DedeXHTTP = null;  

主要用途是判断会员是否登录,如果已经登录,则在互动中心的会员框里显示/member/ajax_loginsta.php登陆后的内容;
 
$(function(){  
$("dl.tbox dt span.label a[_for]").mouseover(function(){  
   $(this).parents("span.label").children("a[_for]").removeClass("thisclass").parents("dl.tbox").children("dd").hide(); 
   $(this).addClass("thisclass").blur();  
   $("#"+$(this).attr("_for")).show();  
});  
$("a[_for=uc_member]").mouseover();  
}); 
主要用途是首页右侧的互动中心中踩踩、评论、会员三个选项的切换效果;
 
function multi(pagenum,tagid)  
{  
  var taget_obj = document.getElementById(tagid);  
  var taget_obj_page = document.getElementById("page_"+tagid);  
   myajax = new DedeAjax(taget_obj,false,false,'','','');  
   myajax.SendGet2("/plus/arcmulti.php?mtype=0&pnum="+pagenum+'&tagid='+tagid);  
   myajax = new DedeAjax(taget_obj_page,false,false,'','','');  
   myajax.SendGet2("/plus/arcmulti.php?mtype=1&pnum="+pagenum+'&tagid='+tagid);  
   DedeXHTTP = null;  

主要用途是右侧的推荐内容分页,也是DedeV5.6版的新增功能(arclist标签分页);P.s:其实默认的ajax评论也是通过此种方式制作的。
 
function check(){  
    if(document.formsearch.searchtype.value=="")  
     document.formsearch.action="
http://www.google.cn/custom
    else 
     document.formsearch.action="{dede:field name='phpurl'/}/search.php" 
}  
作用是顶部的goole搜索那,具体的含义,当我们选择的搜索类型(searchtype)为空,那么提交的目标地址就是
http://www.google.cn/custom,否则就提交到站内搜索的地址/plus/search.php!
 
二、默认文章列表模板(list_article.htm)
 
这里顶部的JS全部去掉就可以了,这样就可以大大提高访问速度了。
 
三、文章内容页模板(article_article.htm)
 
这是目前为止最好的DEDE文章内容页因点击次数引起网页加载慢的解决方法
 
下面代码放在要显示文章点击词素的位置(红色部分是未显示广告之前显示的内容,可以是文字或是图片,当然不要也行)
 
<span id=vvclick>  加载中  </span>
 
当然“加载中”也可以替换为图片
 
下面的代码放到网页最底部最好放在</html>之前(蓝色部分是点击次数代码)
 
<SPAN class=spanclass id=span_vvclick>
<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>
<SCRIPT>vvclick.innerHTML=span_vvclick.innerHTML;span_vvclick.innerHTML="";</SCRIPT>
 
原理: 由于网页是由上往下执行代码,所以前面会暂时显示 "点击次数载入中..." 等到执行完整个页面后, 前面才会调用出来。所以我们把点击次数的代码这些放到最后执行让前面调用, 就不会影响站点页面中正常的内容输出的速度了。这也是网上最经典的广告最后加载代码了,提供给大家使用!
 
还有就是顶部的JS调用的处理方法同前面主页JS的处理方法相同,删除部分JS,删除的时候要特别注意是否影响了其他功能。最好的方法是写入一个文件,另存为,最后只调用一次。注意调用的路径。

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

我们知道,如果需要修改DedeCMS的模板的话,只要把模板文件传到服务器,然后再在管理后台 系统基本参数站点设置 模板默认风格中填上你上传的模板的文件夹名称就可以了。 可是当完
关于面包屑导航栏目链接相对路径的修改方法 好吧,自己解决了,现在写出来,希望可以帮到有同样问题的人。 找到/include/typelink.class.php 然后找到下面代码,大概在196行的位置 function GetOneTypeLink($typeinfos) { $typepage = $this-GetOneTypeUrl($
织梦后台默认生成更新RSS文件是按照网站栏目生成告诉用户每个栏目的RSS订阅地址,保存在data目录下,按分类生成很适合栏目或栏目文章较多的dedecms站点,小型CMS站点偏向于生成一个全站的RSS 文件,下面的方法可以实现dedecms只生成一个rss.xml文件夹保存于
有时候,我们在用dedecms建网站的时候,在图片集内容页需要调用当前文章的所有图片出来,这个时候就需要在内容页吧网站里面的所有图片都调用出来了,该怎么做呢?下面看具体步骤: 第一步: 打开include/extend.func.php,在后面加入以下代码 复制代码 functi
dedecms获得某篇文章内容的几种方法,在这里给大家总结了以下三种方法: 1. 使用SQL {dede:sql sql=Select body from `dede_addonarticle` where aid=146} [field:body/] {/dede:sql} 2.使用arclist, 用idlist获取,aid 是没用的,在首页记得要获取typeid,
本文实例讲述了dedecms删除系统自定义变量的方法。分享给大家供大家参考。具体实现方法如下: 一、问题: 之前添加了个联系电话的系统变量,选错了变量类型,结果电话里面要是出现-就显示不全了,很难看,这样的就要删除了重来,那么织梦怎么删除添加的变量呢。