CodeColorer v0.9.9 一处JS加载BUG » 荒野无灯weblog

Keep It Simple, Stupid.

荒野无灯weblog

CodeColorer v0.9.9 一处JS加载BUG

codecolorer.php line 134 :

add_action('wp_print_scripts', array('CodeColorerLoader', 'RegisterQuicktag'));

这里本来用 wp_print_scripts 就不太好,后台应该用admin_print_scripts 或者 admin_print_footer_scripts 。因wp_print_scripts是对前台后台均有作用的。

再看其line 177 function RegisterQuicktag():
直接 

if(is_admin())

作判断,即只要是在后台就加载此JS。
此判断导致后台JS错误,因为非post.php和post-new.php页面WP是没有加载quicktags的,因此不存在edButton() 这个js函数。JS自然报错。

这里给出一个简单的解决办法:
codecolorer.php line 134修改为:

 add_action('admin_print_scripts', array('CodeColorerLoader', 'RegisterQuicktag'));

用admin_print_footer_scripts 不行。

line 177 修改为:

 if (basename($_SERVER['SCRIPT_NAME']) == 'post-new.php' || basename($_SERVER['SCRIPT_NAME']) == 'post.php' ) {

Tagged in : codecolorer,bug

All Comments (0)
Gravatar image
No Comments