解决CDN后使jQuery Ajax Comments出错

提醒:本文最后更新于 4133 天前,文中所描述的信息可能已发生改变,请仔细核实。

前段时间,在周良Tennfy那看到,解决主题comments-ajax.js在cdn缓存后,无法(使用ajax)回复的问题。对此,我之前的做法只是禁止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('CDN地址','你的域名');

这样就可以解决这个问题了。

举个例子就是:

js_url = js_url.replace('kn007.b0.upaiyun.com','kn007.net');

为此,我做了点便民小修改,改为在“}”后面添加:

var dm = js_url.match(/http:\/\/([^\/]+)\//i);
js_url = js_url.replace(dm[1],'你的域名');

这样就可以了,省了一步查看并填写cdn域名,只需填写自身域名即可。就不做例子了。

当然啦,最后别忘记刷新缓存。更新下cdn的comments-ajax.js文件


Wordpress在升级到3.6后,jQuery使用了1.10.2版本,并且使用了jQuery Migrate来兼容旧版jQuery代码。也就是多了次请求。

这个jQuery Migrate可以用来检测和恢复在jQuery1.9版本以上中已删除或已过时的API,不过多了个调用。这是不是提醒我们。要尽快使用新的jQuery函数功能?!

转载请注明转自:kn007的个人博客的《解决CDN后使jQuery Ajax Comments出错