ckeditor config.protectedSource不适用于editor.insertHtml上的html元素属性

时间:2015-10-08 08:57:20

标签: javascript ckeditor

我已经将ckeditor从4.0升级到4.5.4,现在我的插件不像以前那样工作了。

在我的config.js中我有

    config.protectedSource.push(  /\{[\s\S]*?\}/g );

所以我不想在编辑模式下保护所有{}(聪明的东西)。

接下来是对话框按钮中的代码。

                onOk: function () {
                    var currentTabId = this._.currentTabId;
                    var link = '';
                    var OXID = this.getContentElement(currentTabId, 'OXID').getValue();
                    link += "{assign var=\"aSb_cms_data\" value=$oViewConf->sb_cms_getCategorieData('" + OXID + "')}";

                    link += "<a href='{$aSb_cms_data.link}'";

                    title = "{$aSb_cms_data.title}";

                    link += 'title="' + title + '">' + title;
                    link += "</a>"

                    console.log(link); //
                    editor.insertHtml(link); 
                }

console.log(link)将输出:

    {assign var="aSb_cms_data" value=$oViewConf->sb_cms_getCategorieData('testid')}<a href='{$aSb_cms_data.link}'title="{$aSb_cms_data.title}">{$aSb_cms_data.title}</a>

这就是我想要的源代码。

但是在源代码(ckeditor)中现在是:

 {assign var="aSb_cms_data" value=$oViewConf->sb_cms_getCategorieData('testid')}<a href="&lt;!--{cke_protected}%7B%24aSb_cms_data.link%7D--&gt;" title="&lt;!--{cke_protected}%7B%24aSb_cms_data.title%7D--&gt;">{$aSb_cms_data.title}</a>

所有&#34; a&#34;属性与cke_protected东西混淆了...... 在V4.0,源代码等于console.log输出。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

我找到了问题:

时缺少空格
link += 'title="' + title + '">' + title;
标题前的

link += ' title="' + title + '">' + title;

就是这样。