Несколько версий ckeditor на одной странице
Есть ли способ, чтобы несколько версий библиотеки ckeditor могли существовать на одной странице, не конфликтуя с другой версией? Способ jquery как режим jquery.noConflict?
Сценарий использования состоит в том, что в нашей организации есть разные команды, создающие разные виджеты, и 2 из них используют несколько разветвленных и настроенных ckeditor, и обе имеют разные версии выпуска. В настоящее время вещи ломаются, когда они конфликтуют на одной странице.
Кто-нибудь сталкивался с подобной проблемой и пытался решить эту проблему раньше?
1 ответ
В CKEditor такой функции нет. CKEditor регистрирует глобальную переменную CKEDITOR
, поэтому загрузка другой версии не будет работать. Сокрыть глобальную переменную под каким-то типом замыкания может быть непросто и наверняка потребует много работы с ней. Есть куча разных вещей, которые загружаются с помощью CKEditor (например, некоторые пользовательские стили или не минимизированные библиотеки). Так что вы должны как-то об этом позаботиться.
Вы должны иметь возможность загружать разные версии в отдельных фреймах, это обеспечит вам отдельную среду, в которой разные версии будут работать отдельно.
Другим более удобным вариантом было бы подготовить только одну версию, которая будет работать для всех, и просто предоставить различные конфигурации для каждого экземпляра, которые должны отличаться. Это загрузит библиотеку только один раз на вашей странице. Например, вы можете удалить некоторые плагины, используя config.removePlugins
, Есть также много других вещей, которые вы можете настроить для каждого отдельного экземпляра редактора.
Вы можете попробовать запустить каждую версию внутри своего iframe