Plugins CKeditor:如何构建自定义插件?
我试图创建一个自定义插件的CKeditor以下。我按照指示创建了文件(myplugin.png、myplugin.js、plugin.js)并添加了Plugins CKeditor:如何构建自定义插件?,plugins,ckeditor,ckeditor4.x,django-ckeditor,Plugins,Ckeditor,Ckeditor4.x,Django Ckeditor,我试图创建一个自定义插件的CKeditor以下。我按照指示创建了文件(myplugin.png、myplugin.js、plugin.js)并添加了 CKEDITOR_CONFIGS = { 'default': { 'extraPlugins': ','.join( [ 'myplugin' ] ), 'allowedContent' : True, } } 设置 这是我的plugin.js文件的内容: CKEDITOR.plugins.
CKEDITOR_CONFIGS = {
'default': {
'extraPlugins': ','.join( [ 'myplugin' ] ),
'allowedContent' : True,
}
}
设置
这是我的plugin.js文件的内容:
CKEDITOR.plugins.add( 'myplugin', {
icons: 'myplugin',
init: function( editor ) {
// Plugin logic goes here...
editor.addCommand( 'myplugin', new CKEDITOR.dialogCommand( 'mypluginDialog' ) );
editor.ui.addButton( 'myplugin', {
label: 'My Plugin',
command: 'myplugin',
toolbar: 'insert'
});
}
});
然而,自定义插件的图标仍然没有显示出来。我可以在浏览器的工具中看到plugin.js文件被检索到。我通过删除图标文件进行了测试,它没有产生任何差异(没有错误消息,没有404)。我猜想这个文件甚至没有被调用或访问。因此,初始化甚至不尝试渲染按钮。
谢谢你的帮助。最后,我找到了问题的答案。它来自CKEditor显示工具栏的方式。在指南中,自定义插件被添加到工具栏的“插入”组中。但是,在明确设置为显示之前,此项将不可见。 将额外插件添加到默认配置是不够的,必须正确指定工具栏设置(如果由于某种原因,您的平台没有默认为null)。在我的例子中,对于django ckeditor,我必须添加
'toolbar': None,
到CKEDITOR\u配置。尝试在
CKEDITOR.js
文件中出现错误之前进行日志记录,这可能会给您提供更多线索。奇怪的是。。。我无法在文件中调试。当我试图从Firebug访问这个脚本(ckeditor.js)时,它告诉我:“如果标签有“type”属性,那么这个页面上没有Javascript,它应该等于“text/Javascript”或“application/Javascript”。此外,脚本必须是可解析的(语法正确)。”我找到了问题的根源。这是因为服务器上有一个缓存文件,因此内容与我原来的帖子中显示的不完全一样。修复该错误后,错误不再显示,似乎一切正常。。除了插件的按钮没有显示。