解决WordPress 使用七牛云存储导致 Ajax 评论失效的问题

解决WordPress 使用七牛云存储导致 Ajax 评论失效的问题

之前在使用七牛云存储的时候就出现过这个问题了,因为Jeff 的主题是使用了willian kan大师的 Ajax 评论提交技术,涉及到的那个comments-ajax.js ——该文件有一个相对路径指向同目录下的comments.php 。因此当comments-ajax.js 存储到七牛那里后并在主题中调用七牛服务器的comments -ajax.js 就会导致同时引用的comments.php 是在七牛的。

这一点如果你的主题是 Ajax 评论的,又使用七牛云存储的话,通过开发者工具可以明显看到。七牛在存储comments-ajax.js 的同时已经将comments.php 连着存储过去了。comments.php 这个php 文件只能在php 环境下运行,但明显在七牛服务器里的comments.php 并不是处于php 环境,因此WordPress的 Ajax 评论失效是当然的。

遗憾的是,Jeff 虽然知道原因,却不知道如何解决。 谁叫人家还没深入学习javascript (Jquery)啊!当时我的解决方法是comments-ajax.js 不使用七牛的(即不加速),其他文件没问题的就使用七牛云存储的。

不过,今天这个问题终于解决了。不过,当然不是Jeff 解决的。

来自TENNFY WU 的tennfy 给我们提供了一个较完美的解决方法,再此感谢这位哥们

在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('cdn.devework.com','devework.com');

其中,

cdn.devework.com改为你的七牛提供的二级域名(如果源域名有备案可以使用自己的),devework.com就改成你的域名。这样就可以解决这个问题了。

再次感谢原作者,代码来源:http://www.tennfy.com/503.html

七牛云存储相关文章:

WordPress 中使用 七牛云存储 加速图片等静态文件访问速度

使用 七牛云存储 给力CDN加速图片等静态文件(附相关教程)

评分:
当前平均分 5.00 (95%) - 1 个投票
查看 评论
  1. 学习了。谢谢。

    10 年前 回复
发表评论