Я использую CKEditor. Я добавил плагин кекуле для написания химических уравнений. Он отлично работает с одним экземпляром CKEditor на одной странице. Однако, если я добавлю несколько экземпляров CKEditor на одну и ту же страницу, функция добавления изображения кекуле не будет работать.
Вот плагин в файле config.js:
config.extraPlugins = 'kekule',
Here is full code:
<textarea class = "form-control" id = "question" name = "question" placeholder = "Question"></textarea>
<textarea class = "form-control" id = "option1" name = "option1" placeholder = "Option1"></textarea>
<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script type = "text/javascript">
if (typeof CKEDITOR !== 'undefined'){
var editor = CKEDITOR.replace('question', {
toolbarGroups : [{ name: 'insert', groups: [ 'insert' ] },],
extraPlugins: 'kekule',
});
}
if (typeof CKEDITOR !== 'undefined'){
var editor = CKEDITOR.replace('option1', {
toolbarGroups : [{ name: 'insert', groups: [ 'insert' ] },],
extraPlugins: 'kekule',
});
}
если я добавляю несколько экземпляров ckeditor на одну и ту же страницу, я получаю сообщение об ошибке, например: Uncaught TypeError: Cannot read property 'doSaveObj' of null at a.getObjCustomSaveMethod (kekule.min.js:1) at a.save (kekule .min.js:1) в a.doWriteData (kekule.min.js:1) в a.writeData (kekule.min.js:1) в a.<anonymous> (kekule.min.js:1) в .writeData (kekule.min.js:1) в a.writeData (kekule.min.js:1) в Object.Kekule.IO.saveFormatData (kekule.min.js:1) в Object.Kekule.IO.saveTypedData ( kekule.min.js:1) в Object.Kekule.IO.saveMimeData(kekule.min.js:1)
Не могли бы вы также показать полный пример кода, который вы используете для создания экземпляров редакторов, просто чтобы исключить его как источник проблемы. Это определенно звучит как ошибка в библиотеке, которую вы должны обсудить с авторами.
<script src = "ckeditor/ckeditor.js"></script> <textarea class = "form-control" id = "question" name = "question" placeholder = "Question"></textarea> <textarea class = " form-control" id = "option1" name = "option1" placeholder = "Option1"></textarea> <script type = "text/javascript"> var editor = CKEDITOR.replace('question', {toolbarGroups: [{ имя: 'insert', группы: [ 'insert' ] },], extraPlugins: 'kekule', }); var editor = CKEDITOR.replace('option1', {toolbarGroups: [{ name: 'insert', groups: ['insert'] },], extraPlugins: 'kekule', }); </скрипт>



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Проверьте наличие ошибок в консоли. Это может быть ошибка в реализации этого плагина.