Как добавить якорный тег в текстовое поле в ckeditor4 из данных ответов ajax - PullRequest
0 голосов
/ 27 января 2019

У меня есть ckeditor 4 в просмотре страницы моего редактора.Я хочу знать, как динамически добавлять теги привязки (ссылки) в редактор из ответа ajax.

Я включил ссылки в конфигурации Ckeditor.Я также попытался добавить a к CKEDITOR.dtd.$removeEmpty Я также проверил CKEDITOR.dtd.p, и он уже a в качестве члена, и его значение равно 1.

Ниже коды моей инициализациив файле конфигурации

CKEDITOR.editorConfig = function( config ) {
    config.toolbarGroups = [
        { name: 'document',    groups: [ 'mode', 'document', 'doctools' ] },
        { name: 'basicstyles', groups: [ 'basicstyles' ] },
        { name: 'paragraph',   groups: [ 'list', 'indent', 'align', 'bidi' ] },
        { name: 'insert' },
        { name: 'colors' },
        { name: 'links', groups: [ 'link', 'unlink' ]}
    ];

    // Remove some buttons provided by the standard plugins, which are
    // not needed in the Standard(s) toolbar.
    config.removeButtons = 'Subscript,Strike,Superscript';

    // Set the most common block elements.
    config.format_tags = 'p;h1;h2;h3;pre';

    // Simplify the dialog windows.
    config.removeDialogTabs = 'image:advanced;link:advanced';
    config.extraPlugins = 'embed';
    config.embed_provider = '//ckeditor.iframe.ly/api/oembed?url={url}&callback={callback}';

    config.filebrowserBrowseUrl = '/url';
    config.filebrowserImageBrowseUrl = '/url';
    config.filebrowserFlashBrowseUrl = '/url';
    config.filebrowserUploadUrl = '/url';
    config.filebrowserImageUploadUrl = '/url';
    config.filebrowserFlashUploadUrl = '/url'; 


}

Ниже я попытался установить ссылки на ckeditor

var linkHref = $(e.target).attr('data-href');
var link = '<a data-cke-survive="true" data-cke-saved-href="'+ linkHref +'" href="' + linkHref + '>'+ $(e.target).text() +'</a>';
var ckeditorInnerHtml = ckeditorInstance.$.body.innerHTML;
ckeditorInnerHtml = ckeditorInnerHtml.split('#' + keyword).join(link);
CKEDITOR.instances.content.setData(ckeditorInnerHtml);

Я ожидаю, что '#' + keyword будет заменен предоставленной мной ссылкой.Но он удаляется и устанавливается пустым в редакторе.Если я добавлю другие теги, такие как тег <p> или простой текст, он будет заменен правильно!

...