Drupal 7 中的 CKEditor 缺失/不正确的 basePath
CKEditor missing/incorrect basePath in Drupal 7
在自定义模块中,我包含了 CKEditor。
drupal_add_js( 'sites/all/libraries/ckeditor/ckeditor.js',array('weight'=>JS_LIBRARY+1));
drupal_add_js( 'sites/all/libraries/ckeditor/adapters/jquery.js',array('weight'=>JS_LIBRARY+2));
在我的 JS 中,我现在使用
jQuery('#myTextArea').ckeditor();
这曾经有效,但现在不是。在Firebug中查看,我看到ckeditor正在尝试访问config.js,并且它正在页面的URL中查找此内容。它应该寻求 http://example.com/sites/all/libraries/ckeditor/。
我想不出最近发生了什么变化可能会破坏它!
我尝试将配置{ basePath: '/sites/all/libraries/ckeditor/' }
传递到ckeditor()
调用中,但这被忽略了,可能无法在运行时设置它?
任何人都知道我做错了什么,或者如果这是一个错误,是否有解决方法?
正如我评论的那样,这似乎与通过Drupal的JS聚合加载编辑器有关
这是一个丑陋的黑客,它对我有用。
编辑 sites/all/libraries/ckeditor/ckeditor.js 文件,并在压缩的 js 代码添加之前:
window.CKEDITOR_BASEPATH = 'http://example.com/sites/all/libraries/ckeditor/';
然后请记住每次升级时都这样做。
PS. 基本路径提示上的信用。
CKEditor(测试 4.4.4)在更改默认 ckeditor.js 文件名时在确定正确的基本路径时出现问题。例如,为实时部署添加缓存破坏程序或使用聚合名称时。
您可以使用属性的输出轻松重现该行为:CKEDITOR.basePath
您在一个路径为/a/b/c/d 的网站(假设为 http://example.de),使用原始 ckeditor 文件名/ext/ckeditor/ckeditor.js:
Website: http://example.de/a/b/c/d
CKeditor: http://example.de/ext/ckeditor/ckeditor.js
console.log(CKEDITOR.basePath); //output: http://example.de/ext/ckeditor/
您在同一个网站上,相同的路径和 ckeditor.js更改:
Website: http://example.de/a/b/c/d
CKeditor: http://example.de/ext/ckeditor/ckeditor-whatever.js
console.log(CKEDITOR.basePath); //output: http://example.de/a/b/c/
通常,JavaScript 控制台会显示如下错误:
Line 1: Uncaught SyntaxError: Unexpected token <
Uncaught TypeError: Cannot set property 'dir' of undefined
因此,如果您更改默认文件名 ckeditor.js,则始终需要设置基本路径。
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- Amazon S3 REST API大小不正确
- Javascript Reg Exp不正确匹配
- DIV并排,位置不正确
- 仅在IE中,javascript中的时区名称不正确
- 注意:wp_enqueue_script调用不正确.在 Wordpress 调试模式下
- 你能解释一下为什么这个javascript不正确吗
- 从int值来看,Javascript日期不正确
- jQuery-迭代不正确?(太长,无法执行)
- 字符串解析不正确
- 日历显示不正确
- 引导程序下拉列表显示不正确
- Node.js:多个然后'It’执行顺序不正确
- Highcharts热图显示不正确
- Firefox使用JQuery返回不正确的JSON
- 尝试在两次迭代中警告同一选择器的值,在第一次迭代中得到正确的值,而在第二次迭代中获得不正确的值.为什么?
- Mongoose响应解析不正确
- 由于布尔值的变化,Django视图中的字符串格式不正确
- 递归函数返回不正确
- Drupal 7 中的 CKEditor 缺失/不正确的 basePath