修复TpCache插件会缓存评论者信息的问题
项目说明
TpCache
是 Typecho
一个很古老的缓存插件,服务器配置低的话使用该插件还是可以明显提高访问速度的,但该插件一直有一个问题,就是在生成静态缓存页面的时候会缓存上一个评论者的信息,导致使用体验下降。
解决方案
找到主题文件下 comments.php
删除如下代码
<?php $this->remember('author'); ?> (昵称)
<?php $this->remember('mail'); ?>(邮箱)
<?php $this->remember('url'); ?>(网址)
在 comments.php
最后加入下面的代码
<script>
<?php if(!$this->user->hasLogin()){ ?>
function getCookie(name){
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg))
return unescape(decodeURI(arr[2]));
else
return null;
}
function adduser(){
document.getElementById('author').value = getCookie('<?php echo md5($this->request->getUrlPrefix()); ?>__typecho_remember_author');
document.getElementById('mail').value = getCookie('<?php echo md5($this->request->getUrlPrefix()); ?>__typecho_remember_mail');
document.getElementById('url').value = getCookie('<?php echo md5($this->request->getUrlPrefix()); ?>__typecho_remember_url');
}
adduser();
<?php } ?>
</script>
至此大功告成,保存刷新并清除缓存,现在就不会缓存评论者所填写的信息了。