Uncaught [CKEDITOR.editor] Экземпляр "html" уже существует - PullRequest
2 голосов
/ 22 февраля 2010

У меня проблема с загрузкой CKEDITOR. Я сделал все, как описано здесь: http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Integration Но в любом случае я получаю ошибку (Google Chrome 4.x) Uncaught [CKEDITOR.editor] Экземпляр "HTML" уже существует. Вот мой код:

<script type="text/javascript" src="/engine/jq.js"></script> 
<script type="text/javascript" src="/engine/cke/ckeditor.js"></script> 
<script type="text/javascript" src="/engine/cke/adapters/jquery.js"></script>

<textarea class="jquery_ckeditor" name="html" id="html" rows="10">text</textarea>
<script type="text/javascript">
    if (CKEDITOR.instances['html']) { CKEDITOR.remove(CKEDITOR.instances['html']); // with or without this line of code - rise an error }
    CKEDITOR.replace('html');
</script>

Ответы [ 9 ]

7 голосов
/ 29 июля 2010

проверьте это:

if (CKEDITOR.instances['html']) { 
    delete CKEDITOR.instances['html'] 
};

CKEDITOR.replace('html');
4 голосов
/ 11 марта 2011

с помощью адаптера jquery ckeditor - с помощью этой функции я смог повторно инициализировать текстовые поля ckeditor в содержимом ajax.

function initCKEditor() {
    $('.wysiwyg').ckeditor(function(e){
            delete CKEDITOR.instances[$(e).attr('name')];
        },{
            toolbar:
                [
                    ['Bold','Italic','Underline','Strike','-','NumberedList','BulletedList','-','Paste','PasteFromWord','-','Outdent','Indent','-','Link','-','Maximize','-','Source']
                ],
            skin: 'office2003'
        }
    );  
}
4 голосов
/ 19 октября 2010

удалить class='ckeditor', так как она запускает систему автоматической замены.

1 голос
/ 17 декабря 2010

http://ckeditor.com/blog/CKEditor_for_jQuery исправлено, если вы используете jQuery

// удалить редактор со страницы $ ( 'Текстовое поле'). CKEditor (функция () { this.destroy (); });

1 голос
/ 21 июня 2010

Та же ошибка, но с адаптером jQuery. Проверьте класс текстовой области. Насколько я могу судить, все текстовые области с классом 'ckeditor' автоматически конвертируются в редакторы. Так что либо не пытайтесь установить его с помощью JavaScript, либо измените класс.

0 голосов
/ 30 сентября 2014

Попробуйте, у меня все заработало

var editor = CKEDITOR.instances["your_textarea"]; 
if (editor) { editor.destroy(true); }
0 голосов
/ 12 апреля 2013

Попробуйте, надеюсь, это сработает, у меня сработало.

для (html в CKEDITOR.instances ['html')

{

CKEDITOR.instances [html] .destroy ();

}

http://dev.ckeditor.com/ticket/9862#no1

0 голосов
/ 12 апреля 2012

Решение, которое работает для меня: в представлении Ajax с двумя элементами управления

@Html.TextAreaFor(model => model.offreJob.profile, new { @class = "input_text_area_nofloat", @style = "width:590px", @id = "ck_profile" })

и

@Html.TextAreaFor(model => model.offreJob.description_job, new { @class = "input_text_area_nofloat", @style = "width:590px", @id = "ck_description" })

Я использую следующий скрипт:

        <script>
        if (CKEDITOR.instances['ck_profile']) {
            delete CKEDITOR.instances['ck_profile'];
        }
        CKEDITOR.replace('ck_profile');

        if (CKEDITOR.instances['ck_description']) {
            delete CKEDITOR.instances['ck_description'];
        }
        CKEDITOR.replace('ck_description');
    </script>
0 голосов
/ 29 июля 2010

На вашей странице есть контейнер html, попробуйте переименовать текстовую область?

<textarea class="jquery_ckeditor" name="editor" id="editor" rows="10">text</textarea>
<script type="text/javascript">
    CKEDITOR.replace('editor');
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...