如何从Ajax响应数据在ckeditor4的textarea中添加锚标记

时间:2019-01-27 13:54:39

标签: javascript jquery html ckeditor anchor

我的编辑器页面视图中有一个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>标签或简单文本,则可以正确替换它!

0 个答案:

没有答案