我在Rails4项目中使用ckeditor。我尝试过ckeditor gem和ckeditor_rails gem来提供ckeditor库。
这里有多篇帖子,希望删除ckeditor上下文菜单,以便显示浏览器本地的上下文菜单。
通常这是为了启用浏览器拼写检查器,而不是ckeditor付费/广告拼写检查器。
ckeditor 3.6.3启用浏览器拼写检查和禁用上下文菜单
如何禁用ckeditor上下文菜单/20229730#20229730
第三个链接回复最多,但没有一个被普遍接受。通常的回复是通过将以下内容放置在ckeditor config.js中删除contextmenu插件。
config.removePlugins = 'contextmenu';
有人建议contextmenu是其他插件的依赖项,不同的人添加了大量其他插件也需要进行删除。
一篇有用的帖子建议在控制台中运行以下代码以确定依赖关系。
$.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)进行确认)中禁用上下文菜单。
最后建议在config.js中使用以下代码:
CKEDITOR.on('instanceReady', function(ev) {
ev.editor.editable().addClass('cke_enable_context_menu')
});
对于如何禁用上下文菜单的建议并没有提出,但无论如何,这对我来说都没有影响。
对于我来说,这是一个停滞不前的问题,因为 ckeditor 上下文菜单隐藏了浏览器的拼写建议,并且其中包含的剪切和粘贴选项实际上并不起作用,只会弹出浏览器对话框。
您的浏览器安全设置不允许编辑器自动执行复制操作。请使用键盘进行复制 (Ctrl/Cmd+C)。
在其他方面,ckeditor似乎是功能最好的编辑器。