互联网新闻

我们都清楚,网页的打开速度十分重要,如果网页打开时间超过8秒,那么访客将减少60%。所以,我们需要对网页进行优化,以便能够达到最佳的用户体验。下面是18条网站加速方法:1、减少HTTP请求图片、css、script、flash等等这些都会增加http请求数,减少这些元素的数量就能减少响应时间。把多个JS、CSS在可能的情况下写进一个文件,页面里直接写入图片也是不好的做法,应该写进CSS里,利用CSSsprites将小图拼合后利用background来定位。2、设置头文件过期或者静态缓存浏览器会用缓存来减少http请求数来加快页面加载的时间,如果页面头部加一个很长的过期时间,浏览器就会一直缓存页面里的元素。不过这样如果页面里的东西变动的话就要改名字了,否则用户端不会主动刷新,看自己衡量了~这项可以通过修改.htaccess文件来实现。3、Gzip压缩Gzip格式是一种很普遍的压缩技术,几乎所有的浏览器都有解压Gzip格式的能力,而且它可以压缩的比例非常大,一般压缩率为85%。压缩没压缩,可以到这里测试:gzip压缩检测。4、不要在HTML中缩放图片图片要用多大的就用多大的,1000X1000的图片被width=”100″height=”100″以后,本身的KB数是不会减少的。5、优化图片将你的GIF转为PNG8会是个减小体积的好办法,另外有很多方法处理你的JPG及PNG图片以达到优化效果。6、不要出现404页面站点本身里(非搜索结果)出现404页面,无意义的404页面会影响用户体验并且会消耗服务器资源。7、减小CookieCookie在服务器及浏览器之间的通过文件头进行交换,尽可能减小Cookie体积,设置合理的过期时间,能够很好的提高效率。8、减少iframe数量需要更有效的利用ifames。iframe优点:有利于下载缓慢的广告等第三方内容,安全沙箱,并行下载脚本iframe缺点:即使为空也会有较大资源消耗,会阻止页面的onload,非语义9、尽早的释放缓冲当用户进行页面请求时,服务器端需要花费200到500毫秒时间来拼合HTML,将写在head与body之间,释放缓冲,这样可以将文件头先发送出去,然后再发送文件内容,提高效率。10、删除重复脚本重复调用的代码浏览器并不会识别忽略,而是会再次运算一遍,这当然是大大的浪费。11、减小JS和CSS的体积写JS和CSS都是有技巧的,用最少的代码实现同样的功能,减少空白,增强逻辑性,用缩写方式等等,当然也有不少工具也能够帮你实现这一点。12、减少DNS查找减少网站从外部调用资源,网页加载效率会大大提高。13、将JS和CSS外链一些较为公用的JS和CSS,我们可以使用外链的形式,譬如我就是从Google外链来的Jquery文件,如果我的浏览者在浏览别的使用了这个外链文件的网站时已经下载并缓存了这个文件,那么他在浏览我的网站的时候就不需要再进行下载了!14、避免CSS表达式CSS表达式很可怕,这个只被IE支持的东西执行时候的运算量非常大,你移动一下鼠标它都要进行重计算的,但有时候为了做浏览器的兼容必须要用到这个|||IE6去死去死!15、把CSS放顶部让浏览者能尽早的看到网站的完整样式。16、把JS放底部网站呈现完毕后再进行功能设置,当然这些JS要在你的加载过程中不影响内容表现。17、用GET方式进行AJAX请求Get方法和服务器只有一次交互(发送数据),而Post要两次(发送头部再发送数据)。18、减少DOM的访问次数JS访问DOM是很慢的,尽量不要用JS来设置页面布局。

源码

一、修改文件:\include\taglib目录下的channel.lib.php,请将以下代码全部复制替换上述文件<?phpfunctionlib_channel(&$ctag,&$refObj){global$_sys_globals,$envs,$dsql;$attlist="typeid|0,reid|0,row|100,col|1,type|son,currentstyle|";FillAttsDefault($ctag->CAttribute->Items,$attlist);extract($ctag->CAttribute->Items,EXTR_SKIP);$innertext=$ctag->GetInnerText();$cacheid=trim($cacheid);if($cacheid!=''){$likeType=GetCacheBlock($cacheid);if($likeType!='')return$likeType;}$reid=0;$topid=0;if(empty($typeid)&&$envs['typeid']!=0){$typeid=$envs['typeid'];$reid=$envs['reid'];}else{$reid=0;}if($type==''||$type=='sun')$type="son";if($innertext=='')$innertext=GetSysTemplets("channel_list.htm");if($reid==0&&$typeid>0){$dbrow=$dsql->GetOne("SelectreidFromdede_arctypewhereid='$typeid'");if(is_array($dbrow))$reid=$dbrow['reid'];}$likeType='';if($type=='top'){$sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFromdede_arctypewherereid=0Andishidden<>1orderbysortrankasclimit0,$row";}elseif($type=="son"){//if($_sys_globals['typeid']>0)$typeid=$_sys_globals['typeid'];if($typeid==0){return'';}$sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFromdede_arctypewherereid='$typeid'Andishidden<>1orderbysortrankasclimit0,$row";}elseif($type=="self"){if($reid==0){return'';}$sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFrom`dede_arctype`wherereid='$reid'Andishidden<>1orderbysortrankasclimit0,$row";}//Andid<>'$typeid'$needRel=false;$dtp2=newDedeTagParse();$dtp2->SetNameSpace("field","[","]");$dtp2->LoadSource($innertext);$dsql2=clone$dsql;$dsql->SetQuery($sql);$dsql->Execute();$line=$row;//检查是否有子栏目,并返回rel提示(用于二级菜单)if(ereg(':rel',$innertext))$needRel=true;if(empty($sql))return'';$dsql->SetQuery($sql);$dsql->Execute();$totalRow=$dsql->GetTotalRow();$GLOBALS['autoindex']=0;for($i=0;$i<$line;$i++){if($col>1)$likeType.="<dl>\r\n";for($j=0;$j<$col;$j++){if($col>1)$likeType.="<dd>\r\n";if($row=$dsql->GetArray()){$row['sonids']=$row['rel']='';if($needRel){$row['sonids']=GetSonIds($row['id'],0,false);if($row['sonids']=='')$row['rel']='';else$row['rel']="rel='dropmenu{$row['id']}'";}//处理同级栏目中,当前栏目的样式if(($row['id']==$typeid||($topid==$row['id']&&$type=='top'))&&$currentstyle!=''){if($currentstyle!=''){$linkOkstr=$currentstyle;$row['typelink']=GetOneTypeUrlA($row);$linkOkstr=str_replace("~rel~",$row['rel'],$linkOkstr);$linkOkstr=str_replace("~id~",$row['id'],$linkOkstr);$linkOkstr=str_replace("~typelink~",$row['typelink'],$linkOkstr);$linkOkstr=str_replace("~typename~",$row['typename'],$linkOkstr);$likeType.=$linkOkstr;}}else{$row['typelink']=$row['typeurl']=GetOneTypeUrlA($row);if(is_array($dtp2->CTags)){foreach($dtp2->CTagsas$tagid=>$ctag){if(isset($row[$ctag->GetName()])){$dtp2->Assign($tagid,$row[$ctag->GetName()]);}elseif(preg_match('/^sonchannel[0-9]*$/',$ctag->GetName())){$dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql2));}}}$likeType.=$dtp2->GetResult();}}if($col>1)$likeType.="</dd>\r\n";$GLOBALS['autoindex']++;}//LoopColif($col>1){$i+=$col-1;$likeType.="</dl>\r\n";}}//Loopfor$ireset($dsql2);$dsql->FreeResult();return$likeType;}functionlib_channel_son($ctag,$typeid=0,$dsql2){$attlist="row|100,col|1,currentstyle|";FillAttsDefault($ctag->CAttribute->Items,$attlist);extract($ctag->CAttribute->Items,EXTR_SKIP);$innertext=$ctag->GetInnerText();$dsql3=clone$dsql2;$likeType='';//if($_sys_globals['typeid']>0)$typeid=$_sys_globals['typeid'];if($typeid==0){return'';}$sql="Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,descriptionFromdede_arctypewherereid='$typeid'Andishidden<>1orderbysortrankasclimit0,$row";//Andid<>'$typeid'$dtp2=newDedeTagParse();$dtp2->SetNameSpace("field","[","]");$dtp2->LoadSource($innertext);$dsql2->SetQuery($sql);$dsql2->Execute();$line=$row;for($i=0;$i<$line;$i++){if($col>1)$likeType.="<dl>\r\n";for($j=0;$j<$col;$j++){if($col>1)$likeType.="<dd>\r\n";if($row=$dsql2->GetArray()){$row['typelink']=$row['typeurl']=GetOneTypeUrlA($row);if(is_array($dtp2->CTags)){foreach($dtp2->CTagsas$tagid=>$ctag){if(isset($row[$ctag->GetName()])){$dtp2->Assign($tagid,$row[$ctag->GetName()]);}elseif(preg_match('/^sonchannel[0-9]*$/',$ctag->GetName())){$dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql3));}}}$likeType.=$dtp2->GetResult();}if($col>1)$likeType.="</dd>\r\n";}//LoopColif($col>1){$i+=$col-1;$likeType.="</dl>\r\n";}}//Loopfor$ireset($dsql3);$dsql2->FreeResult();return$likeType;}?>二、在模板调用实例:{dede:channeltype='son'typeid='7'}[field:typename/]<ul>[field:sonchannel0]<li><ahref="[field:typename/]http://www.skyey.com.cn/[field:typelink/]">---[field:typename/]</a></li>[field:sonchannel2]<li><ahref="===[field:typename/]http://www.skyey.com.cn/[field:typelink/]">===[field:typename/]</a></li>[/field:sonchannel3][/field:sonchannel2][/field:sonchannel1][/field:sonchannel0]</ul>{/dede:channel}模板调用[field:sonchannel0][/field:sonchannel0]这个是用来取子栏目用得(使用[sonchannel+数字]作为标签名是为了防止嵌套的时候无法正确解析标签)这个的作用就是当你的栏目有很多子栏目无限分级的时候方便你取子栏目的转自:http://www.cnblogs.com/seaven/archive/2012/12/02/2798000.html