{"error":"get from image source failed: E405"} 错误解决方法

/ 2,271 阅读 / 0

上次不是说到多说要关闭服务了,所以就将换回了自带的评论,之后也就没怎么去管。后来收到 李翔宇 童鞋给我发来的邮件,告诉我说评论出现了评论报错:

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

网上一查,原来是七牛 CDN 导致的问题,由于主题采用了 ajax 评论脚本 comments-ajax.js ,缓存到七牛时替换成了镜像地址,导致 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++ ;
}

它一般在最开头的位置,然后在这段代码之后再添加一句代码(别忘了修改代码内的域名),如下:

// 修复七牛 cdn 评论失效
js_url = js_url.replace(' 你的七牛镜像域名',' 你自己的域名');

修改好之后,保存上传即可。如果你有缓存 JS 文件到七牛的话,记得到七牛里面将原来缓存的 comments-ajax.js 文件删除,若 wordpress 有缓存插件的也要删除一遍缓存。

刷新文章页面,让七牛更新缓存文件。 更新完毕之后,即可恢复评论功能。


由于 mufeng 的 lovephoto 主题结构特殊,所以在这里我也将这个 lovephoto 主题的解决方法也一并记录一下。

首先在主题文件夹内 themes/Lovephoto/assets/scripts 找到 comments-ajax.js 并打开这个 JS 文件,找到

comm_array.push("");

然后替换成下面的内容(别忘了修改代码内的域名)

// 修复七牛 cdn 评论失效
js_url = js_url.replace(' 你的七牛镜像域名',' 你自己的域名');    
comm_array.push("");

修改好之后,保存上传即可。如果你有缓存 JS 文件到七牛的话,记得到七牛里面将原来缓存的 comments-ajax.js 文件删除,若 wordpress 有缓存插件的也要删除一遍缓存。

刷新文章页面,让七牛更新缓存文件。 更新完毕之后,即可恢复评论功能。