POST TIME:2020-03-28 23:40
最近一直在研究如何提高網(wǎng)站的用戶體驗(yàn)性,我們知道加快網(wǎng)頁(yè)的打開(kāi)速度是提高用戶體驗(yàn)性的一種有效策略。影響網(wǎng)頁(yè)打開(kāi)速度的因素很多,今天我只說(shuō)如何通過(guò)優(yōu)化織夢(mèng)CMS內(nèi)部程序,達(dá)到加快網(wǎng)頁(yè)打開(kāi)速度的目的。
首先,處理文章頁(yè)的Javascript,在默認(rèn)模板中前面有一大段Javascript,可能有2KB多一點(diǎn),每個(gè)頁(yè)2KG,集少成多也不少了。我就把這段JS提取出來(lái),另存為一個(gè)文件,以后只要下載一次就可以了。不過(guò)注意要把JS里的路徑根據(jù)自己的情況替換一下。
其次,我發(fā)現(xiàn)文章到點(diǎn)擊次數(shù)那里卡住了,有時(shí)差不要十來(lái)秒,感覺(jué)很不好,原來(lái)在查數(shù)據(jù),影響了速度。其實(shí)這里我們可以用AJAX方式寫(xiě)出來(lái),具體做法是:
1、修改模板把<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>
2、在第一步所說(shuō)的的JS文件里加入一個(gè)JS函數(shù)
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); //這里要根據(jù)情況改成網(wǎng)站的實(shí)際路徑
DedeXHTTP = null;
}
3、修改plus/count.php文件,在exit()之前加入以下的代碼
if(!empty($ajax))
{
$row = $dsql->GetOne(" Select click From `{$maintable}` where {$idtype}='$aid' ");
if(is_array($row))
{
echo $row['click'];
}
}
3、把<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>。其實(shí)getClick這個(gè)函數(shù)只要放在文章后面,哪里都無(wú)所謂。
我是剛開(kāi)始用織夢(mèng)模板,感覺(jué)功能很好很強(qiáng)大,技巧方面暫時(shí)就這兩點(diǎn),經(jīng)過(guò)這兩步好,感覺(jué)顯示速度快了不少。