解决WordPress使用CDN后博文无法评论的错误

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('jb51.b0.upaiyun.com','jb51.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函数功能?!

(0)

相关推荐

  • 在WordPress中实现评论头像的自定义默认和延迟加载

    自定义 WordPress 默认评论头像 对于没有设置Gravatra头像的评论者来说,WordPress会显示一个你在后台设置的默认头像,可以是神秘人.空白.默认的Gravatar 标志等等.但是这些头像有一个共同的不足之处,就是不怎么美观,可看性不强!打个比方,如果你去一个博客阅读文章,但当你放心评论文章的读者头像都是小怪物.复古等一系列WordPress自动生成的"不堪入目"的头像时,你还有很浓的兴趣去阅读这个博客的文章吗?我想答案是肯定的!那么,你有没有想过,自己设计或找一个属

  • 编写PHP脚本来实现WordPress中评论分页的功能

    方法说明 首先来看看可能被用到的方法. 打开文件 wp-includes/link-template.php 你会发现 WordPress 2.7 多了 4 个针对评论分页的方法: get_comments_pagenum_link $pagenum: 页码 $max_page: 最大页数 返回链接地址. 在本次应用中不会被用到, 但大家应该知道有这个方法, 将方便你制作插件. next_comments_link $label: 显示的字样, 默认是 » Newer Comments. 但我一

  • 使用CDN和AJAX加速WordPress中jQuery的加载

    确定要放在Head部分 ? 事实上最好的情况是,js文件都不要在<head>部分进行加载,否则会影响到head部分的载入速度,直接导致网站的内容(body)载入延迟.如果你确定你不需要在head部分载入jQuery,请将载入代码移动到</body>前,准确的说是第一个会用到jQuery函数的javascript代码前. 当然,如果你需要head部分加载jquery,也请确保所有的js文件,包括jquery,都要放在调用CSS文件的代码之后,来实现同步下载.这也是Google官方给出

  • 利用jQuery实现WordPress中@的ID悬浮显示评论内容

    比如: A 留言了, B 用 @ 回复了 A, 所以 B 的回复可能是这样的: @A How much money do you have? 就是说, 当鼠标悬停在 @A 上面的时候, 就会将 A 的评论内容显示在一个悬浮区域中. 实现步骤 在这里我们将以iNove主题为例进行讲解. 1. 将以下代码保存为commenttips.js: jQuery(document).ready( function(){ var id=/^#comment-/; var at=/^@/; jQuery('#t

  • 使用jQuery实现WordPress中的Ctrl+Enter和@评论回复

    添加 Ctrl+Enter 快捷回复 这里送上两种方法,首先是 jQuery 方法,前段时间一直在研究 jQuery ,因此对 jQuery 方法比较熟悉,如果你的主题本来已经加载 jQuery 库,建议你使用下面的方法. 把这段代码加入 js 文件中,如果你已经加载 jQuery ,现在就可以使用 Ctrl+Enter 进行快捷回复. jQuery(document).ready(function($){ //Ctrl+Enter回复 jQuery(document).keypress(fun

  • WordPress中限制非管理员用户在文章后只能评论一次

    之前有网友提出,在WordPress中有没有办法实现每篇文章只允许用户评论一次? 暂不说这个需求有没有用,毕竟WordPress就是给有各种需求的人用的.这个功能实现起来也比较简单,只需每次用户发表的评论进数据库之前,从当前文章的所有评论中查找是否有相同的用户名或邮箱已经发表过评论,如果有就跳到错误页面即可. 实现代码,放到当前主题的functions.php中即可(这里还增加了对IP的判断,更保险): // 获取评论用户的ip,参考wp-includes/comment.php functio

  • WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现

    根据鼠标悬停显示.隐藏,回复和引用按钮 思路及原理 原理嘛很简单,如果你阅读过一页或者两页甚至更多页 Jquery 手册的话, 那么下面的原理解释你肯定能看懂,否则请跳至代码实现区域阅读. 思路很简单, 将回复.引用按钮放置在你想要的地方,CSS 样式设置 display:none; 绑定Jquery中的hover动作到你想要鼠标悬停后显示按钮的区域 是不是很简单?要是我以前写博客肯定会就此结束, 好吧,既然授人鱼那么继续--. 特效的代码实现部分 回复.引用的HTML代码 复制代码 代码如下:

  • 详解WordPress中调用评论模板和循环输出评论的PHP函数

    comments_template comments_template 函数是一个调用评论模板的函数,使用起来很简单,与get_header()等函数一样,是一个include文件类函数,今天来讲一下他的使用. 描述 上面已经讲过了,就是调用评论模板的一个函数. 使用 <?php comments_template( $file, $separate_comments ); ?> 其中 $file 需要调用的文件名 默认值: /comments.php $separate_comments 是

  • WordPress JQuery处理沙发头像

    我想这对沙发同学不太公平吧.昨天在看yinheli同学的<鼠标悬浮实现显示留言内容>一文(建议看看,好文章),就想到我何不把沙发的头像copy出来然后放在显眼的位置上呢,如下截图效果.做法首先是你的网站加载了JQuery,然后在你需要放置沙发头像的地方添加一个<div>,内容为空即可: 复制代码 代码如下: <div id="shafa"></div> 然后要做的就是利用js复制沙发的头像,并把复制的内容填入上面设定的<div>

  • WordPress中利用AJAX异步获取评论用户头像的方法

    在评论者输入邮箱后,异步获得评论者的头像并显示出来,个人感觉这个功能虽不能给用户体验带来多大的提升,也不算是一个实用的功能,但至少很炫,看到有的网站有添加这个功能,我也不甘寂寞所以也写了个脚本,没有时间做封装,所以直接上原理和代码. 异步动态调用头像原理 获得用户输入 过滤用户输入 传递变量到后台 后台处理数据,并返回头像的HTML代码 获得后台返回数据,将HTML代码加载到当前页面 貌似很多步骤,其实很简单,我们只要将自己的主题稍作修改就可以到达效果. 简单功能截图: 实现 功能代码:Java

  • 优化WordPress中文章与评论的时间显示

    很多博客都喜欢用 评论发表于 "XXX 分钟 之前".文章发表于 "XXX 分钟 之前"来显示文章评论的时间,改善的时间显示方式不仅能很直观的告诉读者这篇文章或评论发表距今已有多长时间,更能增强评论回复的时间感,哥很喜欢,因为前一阵子压在手里的东西太多了,工作日白天又苦于不能上网,所以主题的样式及功能部分一点一点的写拖了好长时间,最近这阵子刚好轮到折腾评论了,所以就逐步参照网上流行的样式一点一点的修改起来自己的评论样式和功能. So-.. Go-.. 交道麻袋-..

随机推荐