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

alvin
alvin
alvin
616
文章
58
评论
2014年7月8日13:07:29 评论 213次 1500字
百度快速排名上首页

发现

因为之前路由一直想要尝试使用第三方的社会化评论框来取代WP自身的评论,但是奈何无论如何也找不到合适的选择,现在只好再次换回了自带的评论框。(好吧反正也没人会来评论。)

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

原因

经google后得到结论,根据这里的记录表明是七牛CDN的问题。当然,事实证明确实是CDN的问题,但可能并不只有七牛才会导致这样的吧,或者我们可以猜想,是CDN导致了这个问题。

原理就是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('dn-sunhui.qbox.me','www.sunhuiblog.com');

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

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('dn-sunhui.qbox.me','www.sunhuiblog.com');

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

2、添加CDN镜像例外

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

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

好了,找到你WP Super Cache的CDN页面,然后在下边找到“如果是之前有则排除”这一项,将comment-ajax填写进去就好了。

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

填写完成的样子如图所示:

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

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

同时,你可以在页面当中检查元素来验证,比如说这样:

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

这个时候你去测试评论,就发现已经可以正常使用啦。

路由当时可是同时提交了七牛缓存更新的,截止到这篇文章写完,七牛那边的文件依旧更新不能╮(╯▽╰)╭

总之,还是这样的办法有效瓦~下次如果更换了CDN,也不用再去手动修改js地址了。

继续阅读
历史上的今天
7月
8
  • 我的微信:18682260315
  • 分享网络营销技巧与广大的网络营销爱好者交流网络营销方案、技巧、策划、案例、SEO、网络推广、社会化媒体营销等网络营销知识。
  • weinxin
  • 我的微信小程序
  • 营销的探讨总是没有止境,事件营销作为一种新的营销方式越来越受到营销人的青睐,但事件不常有,企业营销却常在。
  • weinxin
alvin
  • 本文由 发表于 2014年7月8日13:07:29
  • 转载请注明:https://www.sunhui.me/xuexibiji/166.html - 孙辉博客
    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 hui@36kp.com 举报,一经查实,本站将立刻删除。
小迷糊小水库玻尿酸黑面膜21片 (补水保湿清洁控油 提亮肤色面膜贴 男女士学生护肤化妆品套装)
ECHO主题 nicetheme出品wordpress主题
Cosy主题 nicetheme出品wordpress主题
心相印 竹派竹浆本色纸抽纸3层100抽*软抽面巾纸*20包(整箱售卖)

发表评论