Несколько версий ckeditor на одной странице

Есть ли способ, чтобы несколько версий библиотеки ckeditor могли существовать на одной странице, не конфликтуя с другой версией? Способ jquery как режим jquery.noConflict?

Сценарий использования состоит в том, что в нашей организации есть разные команды, создающие разные виджеты, и 2 из них используют несколько разветвленных и настроенных ckeditor, и обе имеют разные версии выпуска. В настоящее время вещи ломаются, когда они конфликтуют на одной странице.

Кто-нибудь сталкивался с подобной проблемой и пытался решить эту проблему раньше?

1 ответ

Решение

В CKEditor такой функции нет. CKEditor регистрирует глобальную переменную CKEDITOR, поэтому загрузка другой версии не будет работать. Сокрыть глобальную переменную под каким-то типом замыкания может быть непросто и наверняка потребует много работы с ней. Есть куча разных вещей, которые загружаются с помощью CKEditor (например, некоторые пользовательские стили или не минимизированные библиотеки). Так что вы должны как-то об этом позаботиться.

Вы должны иметь возможность загружать разные версии в отдельных фреймах, это обеспечит вам отдельную среду, в которой разные версии будут работать отдельно.

Другим более удобным вариантом было бы подготовить только одну версию, которая будет работать для всех, и просто предоставить различные конфигурации для каждого экземпляра, которые должны отличаться. Это загрузит библиотеку только один раз на вашей странице. Например, вы можете удалить некоторые плагины, используя config.removePlugins, Есть также много других вещей, которые вы можете настроить для каждого отдельного экземпляра редактора.

Вы можете попробовать запустить каждую версию внутри своего iframe

Другие вопросы по тегам