2016-11-17 3 views
0

Я изо всех сил пытаюсь получить данные HTML из sourcedialog в ckeditor.CKEditor sourcedialog get html data

Я могу получить HTML-данные из самого редактора, никаких проблем. Но получить его из диалога - это боль в заднице.

Я хочу показать предварительный просмотр HTML, введенный в диалоговом окне источника, и для этого мне нужны данные HTML, а не редактор, но из диалогового окна, редактируемого пользователем.

CKEDITOR.on('dialogDefinition', function(ev) { 
 
    var editor = ev.editor; 
 
    var dialog = ev.data.definition.dialog; 
 
    var dialogName = ev.data.name; 
 
    var dialogDefinition = ev.data.definition; 
 
    var editorName = ev.editor.name; 
 
    var htmlData = CKEDITOR.instances[editorName].getData(); 
 

 
    if (dialogName == 'sourcedialog') { 
 
    dialog.on('show', function() { 
 
     //console.log(this.getSize().width); 
 
     console.log(this); 
 
     $("#sourcePreview").css("display", "block"); 
 
     $("#sourcePreview").html(htmlData); 
 

 
     $(".cke_dialog_ui_input_textarea textarea").on("keyup", function() { 
 
     //var dialogElementUpdated = dialogObj.getElement().getFirst(); 
 
     //console.log(editorData); 
 
     //$("#sourcePreview").html(htmlDataUpdated); 
 
     }); 
 
    }); 
 
    dialog.on('hide', function() { 
 
     console.log('dialog ' + dialogName + ' closed.'); 
 
     $("#sourcePreview").css("display", "none"); 
 
    }); 
 
    } 
 
});

Это то, что я до сих пор (жаль всех console.logs, это работа в процессе). Я, очевидно, получаю данные HTML из varible: htmlData, но это из редактора, а не из диалога.

ответ

0

CKEditor отлично, но да, есть много об этом, это боль в заднице.

if (dialogName == 'sourcedialog') 
{ 
    dialog.on('show', function() 
    { 
    // 'input' is the correct event to listen to for a textarea, 
    // it fires on paste too. 
    this.getContentElement('main', 'data').getInputElement().on('input', function() 
    { 
     console.log('textarea contents: ' + this.$.value); 
    } 
    } 
} 
+0

Ничего себе не ожидал получить ответ, спасибо человеку! ;) – MartinDK81

+0

Рад, что я мог бы дать запоздалый ответ. Мне довелось сражаться с CKEditor и sourcedialog так же, как и вы, и наткнулся на ваш вопрос. Если мой ответ (правильно) касается вашего вопроса, нажмите галочку рядом с ним. Благодаря! – Paul

 Смежные вопросы

  • Нет связанных вопросов^_^