成航先森 成航先森

成都航院计算机系一个学生的个人博客

 

建站分享

分段图

最新文章

建站分享
当前位置: 首页 » 建站分享 » WordPress使用七牛CDN导致ajax评论报错{“error”:”get from image source failed: E405″}

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

编辑:狂族晨曦 来源:建站分享WordPress技巧 日期:2015-09-02 阅读: 2,513 次 5 条评论 » 百度已收录

起因:

最近流量不够用了,所以就开始使用七牛CDN用以减少流量消耗。七牛的免费CDN配额还是很给力的,以前不想用完全是因为用的七牛官方WordPress插件完全没有作用,没有效果,所以弃用。后来发现用水煮鱼的七牛插件才是正解,所以才开始启用。

本以为没有问题了,结果发现用七牛CDN之后,文章页的返回顶部出现BUG了。本来嫌麻烦,也就不想修复了。但是这却一直成为了心中的梗,强迫症涌上心头,决定好好研究一下怎么回事。

结果,返回顶部还没有解决,却意外的发现评论模块又出了问题,也就是题目中说的报错:{"error":"get from image source failed: E405"}。如下:

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

原因:

经过百度后了解到,确实是CDN的问题。CDN把你的comments-ajax.js文件给缓存走了,结果导致路径错误,这时候我们有两种选择来修复这个问题。

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

2、将这个文件单独排除在CDN的镜像列表之外

解决方案:

1、修改comments-ajax.js文件

这种方法的好处是你依旧可以体验完整的CDN镜像服务,你需要打开你主题目录下的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('7xjad9.com1.z0.glb.clouddn.com','www.capjsj.cn');

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

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('7xjad9.com1.z0.glb.clouddn.com','www.capjsj.cn');

然后将文件更新上传到你的服务器,再到七牛空间管理去刷新该文件。

2、添加CDN镜像例外

使用WP Super Cache来开启CDN镜像,直接将comments-ajax.js这个js文件排除在镜像列表之外,虽然加载的时候多了一个js文件,但省去了对付七牛那个缓慢的刷新过程,其实还是很不错的,立竿见影啊~

WP Super Cache在WordPress后台插件安装中可直接搜索安装。

方法:找到WP Super Cache的CDN页面,然后在下边找到“如果是之前有则排除”这一项,将comment-ajax填写进去就好了。如下图(点击放大,放大后按“F”键放至最大):

排除JS -2


这样,就只有一个文件被排除在外了。


好了,大家去试试吧,有任何疑问可在底部讨论区提出。


标签:
除特别注明外,本站所有文章均为成航先森 www.capjsj.cn 原创,本文共1525个字
转载请注明出处来自https://www.capjsj.cn/wp_syqncdndzajaxplbc.html
已有 5 位"计工"发布了激烈的评论,还有N多人围观笑而不语评论
的头像
欢迎发表评论
取消评论

表情
疑问调皮伤心抠鼻黑线微笑可爱奸笑震惊吓到了撇嘴大兵忍不住笑笑狂骂狂怒噢?鼓掌酷⊙﹏⊙b汗鄙视大哭嘿嘿

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. 的头像
    青春敞篷车:

    :grin:

    2017-04-10 09:02 回复
  2. 的头像

    js_url = js_url.replace(‘7xjad9.com1.z0.glb.clouddn.com’,’www.capjsj.cn’);

    你确定你没写错?
    应该是这样吧:

    var js_url = js_url.replace(‘7xjad9.com1.z0.glb.clouddn.com’,’www.capjsj.cn’);

    2017-08-12 10:12 回复
  3. 的头像

    你好,按照方法设置了还是不行呢。

    2017-11-09 23:30 回复
官方微信
发表评论 返回顶部