当前位置:首页 > WordPress教程代码·功能 > 正文

使用七牛CDN导致AJAX评论报错{“ERROR”:”GET FROM IMAGE SOURCE FAILED: E405″}

发现

因为之前一直使用第三方的社会化评论框来取代WP自身的评论,但是奈何多说废了

2014-11-27 多说无法打开,开启主题自带评论,之后只好再次换回了自带的评论框。(好吧反正也没人会来评论。)

但是换回自带的评论框后发现了一个问题,那就是当开启了Ajax之后无论发布什么内容的评论,都会导致{“error”:”get from image source failed: E405″}报错从而无法发布评论。

以前使用xiu主题七牛加速 一直没出过错误 ,但是后来换了主题 却没法评论了。

20141218130227

 

原因

经百度后得到结论,七牛吧文件缓存走了。

原理就是CDN把你的comments-ajax.js文件给缓存走了,结果导致路径错误,这时候我们有两种选择来修复这个问题。

  1. 修改js文件让它能够支持你的CDN路径
  2. 将这个文件单独排除在CDN的镜像列表之外

1、修改comments-ajax.js文件

这种方法的好处是你依旧可以体验完整的CDN镜像服务,你需要打开你主题目录下对应的文件然后修改它,找到如下的代码(一般应该是在开头的)
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('hsdate.qiniudn.com','ihuan.me');

其中 hsdate.qiniudn.com网址换为你的七牛镜像地址 ihuan.me 换为你的站点地址即可

这样,修改完成后应该是下边的样子
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('hsdate.qiniudn.com','ihuan.me');

然后就保存上传就好了,当然,我希望你能搞定七牛的文件更新XD。

 

2、添加CDN镜像例外

如果你和我一样是使用wpjam-qiniutek来开启CDN镜像的,那你也可以选择我这种修复办法——直接将这个js文件排除在镜像列表之外就好了,虽然加载的时候多了一个js文件,但省去了对付七牛那个缓慢的刷新过程,其实还是很不错的,立竿见影啊~

另外,我想其他的CDN插件应该也会有类似的排除功能,你可以领会精神然后自己去插件里找找——至于直接使用代码实现CDN的大神……请出门左转╮(╯▽╰)╭

好了,找到你wpjam-qiniutek设置页面,然后在下边找到“远程图片设置”这一项,将comment-ajax填写进去就好了。

20141218125651

记得多个语句之间用英文的逗号来分隔哦!

使用WP Super Cache 插件实现CDN加速的一样 都填写comment-ajax

但是可以使用了,可多说也复活了,so继续多说,虽然多说评论框没自个带的好看。。。

声明一下啊,测试了下wpjam-qiniutek 插件无法设置例外  wpjam-qiniutek 只能设置图片例外 使用wpjam-qiniutek 的请使用 代码方法。

博主安装了个WP Super Cache 来演示WP Super Cache 的方法测试了下 WP Super Cache可以正常例外。

 

20141218183412

标签:
上一篇: 下一篇:

15 条评论

评论加载中...
  1. 9楼
    来自天朝的朋友 谷歌浏览器 Windows 7
    面试网  

    恩恩,谢谢,持续关注博主网站,嘿嘿

    2016年3月27日 17:02 评论
  2. 8楼
    来自天朝的朋友 谷歌浏览器 Windows 7
    面试网  

    用七牛的时候,修改代码不行,停用七牛,用WP Super Cache插件,评论就可以用了,我也不知道哪里出问题。

    2016年3月27日 16:10 评论
    • 小幻  

      原因是ajax跨域,wp super cache 是不可能造成这个情况的

      2016年3月27日 17:01 评论
  3. 7楼
    来自天朝的朋友 QQ浏览器 Windows 8.1
    碎碎  

    我3中方法都弄了怎么还不行 :bobo_chijing:

    2015年12月16日 13:09 评论
    • 小幻  

      你先确认下什么原因导致的

      2015年12月26日 20:40 评论
  4. 懵了

    2015年11月27日 17:31 评论
  5. 5楼
    来自天朝的朋友 谷歌浏览器 Windows 10
    zhangnew  

    WP Super Cache 你用的中文逗号?

    2015年10月9日 13:03 评论
  6. 4楼
    来自天朝的朋友 未知浏览器 Unknow Os
    yy淘宝  

    我是来学习的

    2015年4月17日 23:07 评论
  7. 地板
    来自天朝的朋友 未知浏览器 Unknow Os
    松果  

    麻痹,不更新文件,改了没用。。。。。。。

    2015年2月10日 13:15 评论
  8. 板凳
    来自天朝的朋友 未知浏览器 Unknow Os
    小双  

    怎么我使用xiu主题提示出错呢

    2015年2月9日 12:34 评论
  9. 沙发
    来自天朝的朋友 未知浏览器 Unknow Os
    有点蓝  

    经常要修改的文件不能缓存啊

    2014年12月18日 14:48 评论

发表评论

不理你。不要啊!吃饭。吃惊。吃西瓜。飞吻!恭喜!Hi纠结!膜拜!OK抛媚眼。泡泡糖。抛钱。忍!生闷气!调皮。偷看。委屈。献花。疑问?抓狂!

小提示:Ctrl+Enter快速提交助您一臂之力~
加载中……