在使用DEDE建站时,点击次数的加载通常是通过JS调用PHP从数据库中读取数据完成的。然而,在纯静态页面中,这种调用方式可能会因为PHP和MySQL执行效率较低而导致页面卡顿。为了解决这一问题,我们可以优化点击次数的加载过程,将其延缓到整个页面加载完成后进行。

首先,我们需要替换原有的点击量调用代码。将以下代码:



    

替换为:



    

 

接下来,新建一个JS文件,并添加以下函数:


function getClick(aid, mid) {
    var taget_obj = document.getElementById('article_click');
    myajax = new DedeAjax(taget_obj, false, false, '', '', '');
    myajax.SendGet2("http://www.bnxb.com/plus/count.php?ajax=yes&mid=" + mid + "&aid=" + aid); // 根据实际情况修改路径
    DedeXHTTP = null;
}
    

保存该文件为xxx.js并上传至服务器。然后,在模板文件article_article.htm的标签前添加以下JS调用代码:



    

 

第三步是修改plus/count.php文件。在exit()之前加入以下代码:


if (!empty($ajax)) {
    $row = $dsql->GetOne("Select click From `{$maintable}` where {$idtype}='$aid'");
    if (is_array($row)) {
        echo $row['click'];
    }
}
    

 

最后一步是调整脚本调用方式。将原来的:



    

改为:



    

这样,getClick函数会与顶踩功能的getDigg函数一起被调用。当然,你也可以将getClick函数单独放置在FOOTER模板的最后进行调用,这不会影响页面的整体显示效果。

通过以上步骤,我们成功地将点击次数的加载过程延后,从而有效避免了因PHP和MySQL执行效率低而引起的页面卡顿问题。


注意:请根据您的实际网站路径修改相关代码中的URL部分,确保其正确无误。