主题: wordpress下kindeditor代码高亮bug
作者: keenwon, 发布日期: 2014-02-25 21:47:48, 浏览数: 4260

如果在wordpress后台开启kindeditor代码高亮,那么你发布的代码,就可以使用google代码高亮样式了,但是使用中发现个bug,就是只有在页面完全载入后才会高亮代码,在此之前是一片灰,有时个别外链的图片速度很慢,那么代码长时间处于灰色的“不可读”状态。


原因分析:

由于使用了window.onload,所以只有在页面完全载入的时候才会执行,包括图片文件的下载,而我们的网站使用的大量第三方资源,例如gravatar的头像,百度分享,多说评论什么的,说不定什么时候它们抽个风(gravatar的头像速度超慢),那么prettyPrint就一直无法执行,代码也就一片灰。


修改方法:

打开/wp-content/plugins/kindeditor-for-wordpress/kindeditor-class.php文件,找到:


window.onload = function(){
	prettyPrint();
}

修改为:

$(function(){
	prettyPrint();
})

保存退出,打开/wp-content/plugins/kindeditor-for-wordpress/kindeditor.php文件,找到:


add_action('wp_enqueue_scripts', array(&$kindeditor, 'add_head_script'));
修改为:


add_action('wp_footer', array(&$kindeditor, 'add_head_script'));
把 Kindeditor 的高亮代码 js 注册在底部(注意:不一定要在wp_footer,你可以根据实际情况自己修改,总之在引入 jQuery 之后就好了),保存。

原文和演示:http://keenwon.com/863.html


作者: keenwon, 发布日期: 2014-02-25 21:51:01
建议官方下个版本中,不引用jQuery的情况下,解决此问题。
回复
发表新帖 发表回复