同一页面上的多个版本的ckeditor

Multiple versions of ckeditor on same page

有没有办法让多个版本的ckeditor库存在于同一个页面上而不与其他版本冲突? jquery方式为jquery.noConflict方式?

用例是我们组织中有不同的团队构建不同的小部件,其中 2 个正在使用一些分叉和自定义的 ckeditor,并且两者都具有不同的发布版本。目前,当他们在同一页面上发生冲突时,事情就坏了。

有人遇到过类似的问题并尝试过解决这个问题吗?

CKEditor 中没有这样的功能。 CKEditor 注册全局变量 CKEDITOR,这就是为什么加载另一个版本不起作用的原因。在某种闭包下隐藏全局变量可能很棘手,并且肯定需要大量工作。 CKEditor 加载了很多不同的东西(比如一些自定义样式,或者没有缩小的库)。所以你也应该以某种方式关心它。

您应该能够在单独的 iframe 中加载不同的版本,这将为您提供单独的环境,不同的版本将在其中单独工作。

另一个更方便的选择是只准备一个适用于所有人的版本,并为每个应该不同的实例提供不同的配置。这只会在您的页面上加载一次库。例如,您可以使用 config.removePlugins 删除一些插件。您还可以为每个编辑器实例自定义许多其他内容。

您可以尝试 运行 每个版本都在其自己的 iframe 中