知更鸟begin主题用七牛云cdn加速导致Ajax评论失效解决办法

沃森博客 2017年8月12日02:19:54web大杂烩评论830阅读模式

昨天本博客启用七牛云cdn加速后评论就不正常了,出现了无法评论的问题。

评论失效提示代码

{"error":"get from image source failed: E405"}

网上搜罗一圈后,在诗梦博客找到了解决办法。知更鸟begin主题用七牛云cdn加速导致Ajax评论失效的原因是主题使用的是Ajax评论效果,而comments-ajax.js文件和comments-ajax-qt.js文件被缓存在七牛服务器上,从而导致ajax评论无法成功实现。知更鸟begin主题用七牛云cdn加速导致Ajax评论失效解决办法

方法一 :修改comments-ajax.js文件

在comments-ajax.js文件中找到以下代码:

  1. var?i?=?0,?got?=?-1,?len?=?document.getElementsByTagName('script').length;
  2. while?(?i?<=?len?&&?got?==?-1){
  3. ????var?js_url?=?document.getElementsByTagName('script')[i].src,
  4. ????????????got?=?js_url.indexOf('comments-ajax.js');?i++?;
  5. }

在其后面添加以下代码:

  1. js_url?=?js_url.replace('cdn.wosn.net','wosn.net');

注意换成自己的七牛加速地址和网站地址。其中,cdn.wosn.net改为你的七牛提供的二级域名,wosn.net改成你的WordPress站点域名

添完后成如下所示:

  1. var?i?=?0,?got?=?-1,?len?=?document.getElementsByTagName('script').length;
  2. while?(?i?<=?len?&&?got?==?-1){
  3. ????var?js_url?=?document.getElementsByTagName('script')[i].src,
  4. ????????????got?=?js_url.indexOf('comments-ajax.js');?i++?;
  5. }
  6. /*js_url是在添加七牛云cdn加速无法评论修改*/
  7. js_url?=?js_url.replace('cdn.wosn.net','wosn.net');
  8. var?edit_mode?=?'1',?//?再编辑模式(?'1'=打开;?'0'=关闭?)

然后到七牛的云加速中去删除comments-ajax.js文件,重新进行缓存,即可解决知更鸟begin主题用七牛云cdn加速导致Ajax评论失效问题。

方法二 :添加cdn镜像例外

上面方法修改js文件方法,但生效太慢了,七牛还有一个刷新缓存的过程不能立即看到效果。下面这个方法是直接将这个js文件排除在镜像列表之外,虽然加载的时候多了一个js文件,但效果立竿见影。

本博使用的是wp super cache插件来添加镜像,添加排除如下图所示:
知更鸟begin主题用七牛云cdn加速导致Ajax评论失效解决办法

自己做个记录,也希望能帮到大家。

沃森博客
  • 本文由 发表于 2017年8月12日02:19:54
  • 本文来自互利网收集整理,问题反馈联系邮箱:wosnnet@foxmail.com,转载请务必保留本文链接:https://wosn.net/1.html

发表评论