我在应用程序中使用ckeditor 4.12.1。我需要从MS Word复制和粘贴内容。我添加了“ pastefromword”插件,并在config.js中添加了配置设置。但是仍然无法正常工作。 “ CKEDITOR.cleanWord不是函数”。
我的配置文件
CKEDITOR.editorConfig = function( config ) {
config.toolbarGroups = [
{ name: 'clipboard', groups: [ 'clipboard', 'undo' ] },
{ name: 'editing', groups: [ 'find', 'selection', 'spellchecker' ] },
{ name: 'links' },
{ name: 'insert' },
{ name: 'forms' },
{ name: 'tools' },
{ name: 'document', groups: [ 'mode', 'document', 'doctools' ] },
{ name: 'others' },
'/',
{ name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
{ name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ] },
{ name: 'styles' },
{ name: 'colors' },
{ name: 'about' }
];
config.removeButtons = 'Underline,Subscript,Superscript';
config.format_tags = 'p;h1;h2;h3;pre';
config.removeDialogTabs = 'image:advanced;link:advanced';
config.extraPlugins = 'pastefromword';
config.extraPlugins = 'clipboard';
config.extraPlugins = 'notification';
config.extraPlugins = 'toolbar';
config.extraPlugins = 'button';
config.pasteFromWordCleanupFile = 'plugins/pastefromword/filter/default.js';
config.pasteFromWordNumberedHeadingToList = true;
config.pasteFromWordPromptCleanup = true;
config.pasteFromWordRemoveStyles = false;};
答案 0 :(得分:0)
我有同样的问题。这是由于服务器上缺少/plugins/pastetools/filter/common.js文件引起的。根本原因是此文件是CKEditor版本升级后的新文件,未包含在项目中。因此,在部署到暂存和生产环境中时缺少该功能。对于开发人员来说,它运行良好,因为该文件在源代码管理中不丢失。
答案 1 :(得分:0)
如Tore所述,#include <json/value.h>
int main()
{
Json::Value val;
val[0] = "foo"; // This throws Json::LogicError
}
和其他诸如高级内容过滤器之类的东西被实施来帮助处理内容。 (pastefromword docs)
还有一点要注意,设置pastetools
适用于4.6之前的CKE版本。
答案 2 :(得分:0)
我发现ckeditor.js中存在问题。 对我有用的是删除第16136行中函数的内容:
function l(a, f, e) {
var h = CKEDITOR.cleanWord;
h ? e() : (a = CKEDITOR.getUrl(a.config.pasteFromWordCleanupFile || f + "filter/default.js"), CKEDITOR.scriptLoader.load(a, e, null, !0));
return !h
}
现在只需清除函数中的内容,然后像这样保留它:
function l(a, f, e) {}
请注意,您添加的过滤器无法正常工作。