阿里云服务器免费领卷啦。阿里云服务器免费领卷啦。

使用七牛CDN导致ajax评论报错{“error”:”get from image source failed: E405″}

发现

前段时间,使用了一个插件,WPJAM 七牛镜像存储,配置完插件后,发现博客评论的时候,报错{“error”:”get from image source failed: E405″},当开启了Ajax之后无论发布什么内容的评论,都会导致{“error”:”get from image source failed: E405″}报错从而无法发布评论。

原因

经google后得到结论,根据这里的记录表明是七牛CDN的问题。当然,事实证明确实是CDN的问题,但可能并不只有七牛才会导致这样的吧,或者我们可以猜想,是CDN导致了这个问题。
原理就是CDN把你的comments-ajax.js文件给缓存走了,结果导致路径错误,请求发送到了七牛的域名上了。这时候我们使用下面的方法修复这个问题。

修改js文件让它能够支持你的CDN路径

解决办法

修改comments-ajax.js文件

找到主题下面的comments-ajax.js文件,修改完后,依旧可以体验完整的CDN镜像服务,你需要打开你主题目录下对应的文件然后修改它,找到如下的代码段(一般应该是在开头的)

/**
 * WordPress jQuery-Ajax-Comments v1.3 by Willin Kan.
 * URI: http://kan.willin.org/?p=1271
 */
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('http://7xt3ik.com1.z0.glb.clouddn.com','http://www.jiandaima.com/blog');

这样,修改完成后应该是下边的样子

/**
 * WordPress jQuery-Ajax-Comments v1.3 by Willin Kan.
 * URI: http://kan.willin.org/?p=1271
 */
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('http://7xt3ik.com1.z0.glb.clouddn.com','http://www.jiandaima.com/blog');

如图:
22

然后就保存上传就好了,

原文链接:,转发请注明来源!
阿里云服务器免费领卷啦。阿里云服务器免费领卷啦。

发表回复

要发表评论,您必须先登录

  • 1 Responses to “使用七牛CDN导致ajax评论报错{“error”:”get from image source failed: E405″}”