我在这个论坛和CKEditor网站上查看了有关此主题的几个问题,但到目前为止,没有任何帮助。首先,我在SharePoint 2010网站上使用jQuery UI模式对话框中的内联编辑器运行CKEditor 4.3.2。在对话框中添加CKeditor是无痛的,但是我不能说设置纤细工具栏也是如此。这是我到目前为止所做的:
-
slimconfig.js
CKEDITOR.editorConfig = function(config) { config.toolbar = [ {name: "basicstyles", items: ["Bold", "Italic", "Underline", "Strike", "Subscript", "Superscript", "-", "RemoveFormat"]}, {name: "paragraph", items: ["NumberedList", "BulletedList"]} ]; }
-
源javascript
setToolbar("notes"); setToolbar("access"); //. . .[several other fields]. . . function setToolbar(divName) { CKEDITOR.replace(divName, {customConfig: "/customConfigs/slimConfig.js"}); }
此外,我使用contenteditable
设置为true,将目标字段设置为DIVS,例如:
<div id="notes" contenteditable="true"></div>
该脚本似乎运行良好,直到在ckeditor.js第308行上达到例外,其中错误文本是"编辑器实例已经连接到提供的元素"。再过几步之后,它返回到第308行的同一区域,此时我得到了一个终端例外,并带有"异常抛出且未抓住。"
。我相信我现在已经正确设置了一切,但不知道该错误该怎么办。是否有人有设置自定义工具栏的经验?
默认情况下,ckeditor将contenteditable="true"
的所有元素替换为Inline编辑器。因此,当您尝试再次替换它时,它会丢弃错误,因为它没有意义。
如果您想完全控制编辑器,请将ckeditor.disableautoinline设置为false
,并手动照顾所有实例。当然,您随时可以在CKEDITOR.instances
对象中找到您的实例,并在愿意的情况下调用editor.destroy()
。
请参阅http://docs.ckeditor.com/#!/guide/dev_inline