昨天本博客启用七牛云cdn加速后评论就不正常了,出现了无法评论的问题。
网上搜罗一圈后,在诗梦博客找到了解决办法。知更鸟begin主题用七牛云cdn加速导致Ajax评论失效的原因是主题使用的是Ajax评论效果,而comments-ajax.js文件和comments-ajax-qt.js文件被缓存在七牛服务器上,从而导致ajax评论无法成功实现。
方法一 :修改comments-ajax.js文件
在comments-ajax.js文件中找到以下代码:
- var?i?=?0,?got?=?-1,?len?=?document.getElementsByTagName('script').length;
- while?(?i?<=?len?&&?got?==?-1){
- ????var?js_url?=?document.getElementsByTagName('script')[i].src,
- ????????????got?=?js_url.indexOf('comments-ajax.js');?i++?;
- }
在其后面添加以下代码:
- js_url?=?js_url.replace('cdn.wosn.net','wosn.net');
注意换成自己的七牛加速地址和网站地址。其中,cdn.wosn.net改为你的七牛提供的二级域名,wosn.net改成你的WordPress站点域名
。
添完后成如下所示:
- var?i?=?0,?got?=?-1,?len?=?document.getElementsByTagName('script').length;
- while?(?i?<=?len?&&?got?==?-1){
- ????var?js_url?=?document.getElementsByTagName('script')[i].src,
- ????????????got?=?js_url.indexOf('comments-ajax.js');?i++?;
- }
- /*js_url是在添加七牛云cdn加速无法评论修改*/
- js_url?=?js_url.replace('cdn.wosn.net','wosn.net');
- var?edit_mode?=?'1',?//?再编辑模式(?'1'=打开;?'0'=关闭?)
然后到七牛的云加速中去删除comments-ajax.js文件,重新进行缓存,即可解决知更鸟begin主题用七牛云cdn加速导致Ajax评论失效问题。
方法二 :添加cdn镜像例外
上面方法修改js文件方法,但生效太慢了,七牛还有一个刷新缓存的过程不能立即看到效果。下面这个方法是直接将这个js文件排除在镜像列表之外,虽然加载的时候多了一个js文件,但效果立竿见影。
本博使用的是wp super cache插件来添加镜像,添加排除如下图所示:
自己做个记录,也希望能帮到大家。
评论