Как получить выбранный html из CKEDITOR в javascript?


У меня возникли проблемы с получением выбранного html, написанного в ckeditor на javascript в моем проекте drupal. кто-нибудь может мне помочь?

1 2

1 ответ:

API CKEditor не обеспечивает именно этого, но, глядя на документы, кажется, что вы можете сделать следующее (непроверенное):

function getSelectionHtml(editor) {
    var sel = editor.getSelection();
    var ranges = sel.getRanges();
    var el = new CKEDITOR.dom.element("div");
    for (var i = 0, len = ranges.length; i < len; ++i) {
        el.append(ranges[i].cloneContents());
    }
    return el.getHtml();
}

alert( getSelectionHtml(editor) );
CKEditor также имеет API синтаксического анализа и сериализации HTML, о которых я мало что знаю, поэтому вы можете использовать их для адаптации HTML к вашим требованиям, а не использовать исходные данные из реализации браузера innerHTML.