我在Rails4项目中使用ckeditor . 我已经尝试过ckeditor gem和ckeditor_rails gem来提供ckeditor库 .
想要删除ckeditor上下文菜单的人在这里有多个帖子,以便可以显示本机浏览器上下文菜单 .
这通常是为了使用浏览器拼写检查器而不是使用ckeditor付费/广告拼写检查器 .
how-to-remove-contextmenu-in-ckeditor-4-3
ckeditor-3-6-3-enable-browser-spellcheck-and-disable-context-menu
how-to-disable-ckeditor-context-menu/20229730#20229730
第三个链接的回复最多,但没有一个被普遍接受 . 通常,回复是通过将以下内容放在ckeditor config.js中来删除contextmenu插件
config.removePlugins = 'contextmenu';
还有一个建议是contextmenu是对其他插件的依赖,不同的人也添加了许多其他插件也要删除 .
一篇有用的帖子建议在控制台中运行以下代码以 Build 依赖关系 .
$.each(CKEDITOR.plugins, function(k, v){
v.requires && console.log("Plugin '" + k + "' requires: " + v.requires)
})
这似乎运作良好,并建议tabletools和liststyle插件依赖于contextmenu . 所以我们最终得到了
config.removePlugins = 'liststyle,tabletools,contextmenu';
不幸的是,这并没有禁用我正在使用的ckeditor版本中的上下文菜单(4.4.6通过在config.js中添加alert(CKEDITOR.version) Build )
最后有一个建议在config.js中使用以下代码
CKEDITOR.on('instanceReady', function(ev) {
ev.editor.editable().addClass('cke_enable_context_menu')
});
没有任何关于这是如何禁用上下文菜单的建议,但无论如何它对我没有任何影响 .
对我来说,这是一个showstopper,因为ckeditor上下文菜单隐藏了浏览器拼写建议,它包含的剪切和粘贴选项实际上不起作用,只是调出浏览器对话框 .
您的浏览器安全设置不允许编辑器自动执行复制操作 . 请使用键盘(Ctrl / Cmd C) .
在所有其他方面,ckeditor似乎确实是最好的编辑器 .
2 回答
As simple as that:
如果它对您没有帮助,您必须包含有效样本才能重现该问题,因为您的设置中存在异乎寻常的情况 .
如果有人正在查看如何禁用上下文菜单并且可以访问CKEditor中的本机浏览器拼写检查器:
(在CKEditor 4.7.0上测试,标准包装)