如何禁用CKEditor自动添加标签' a'

时间:2016-01-04 05:57:04

标签: javascript html asp.net asp.net-mvc ckeditor

我正在使用visual studio 2015社区版,在我的程序中,我在CKEditor 3.6.3中遇到问题,它会自动添加' a' tag表示在span内部锚定,而我的动态页面无法正常显示。

我首次在数据库中添加记录时的动态HTML代码是:

<div>
<a>
<span>something</span>
<span>soemthing</span>
<p>something</p>
<span>
<span>Some details</span>
</span>
</a>
<a>  
<span>View detail</span>
<span>some text</span>
<p>some text</p>
<span>
<span>Some details</span>
</span>
</a>
</div>

当我要编辑代码时,CKEditor中的HTML代码是:

<div>
<a>
<span>some text</span>
<span>some text</span> </a>
<p>
<a>Some Text</a>
</p>
<a>
<span>
<span>Some details</span>
</span>
</a>
<a>some text</span>
<span>Some Text</span>
</a>
<p>
<a>some text</a>
</p>
<a>
<span>
<span>View details</span>
</span>
</a>
</div>

有&#39; a&#39; tag意味着锚点自动添加CKEditor,除了我自己写的&#39; a&#39;标签,现在我怎么能告诉CKEditor不要添加额外的&#39; a&#39;标记!

我在config.js中有以下条目:

CKEDITOR.editorConfig = function( config )
{
    // Define changes to default configuration here. For example:
    // config.language = 'fr';
    // config.uiColor = '#AADC6E';
    config.removePlugins = 'flash,save,newpage,print,preview';
    allowedContent = true;
    config.enterMode = CKEDITOR.ENTER_BR;
    //autoParagraph = false;
    //config.protectedSource.push(/(]+>[\s|\S]*?<\/asp:[^\>]+>)|(]+\/>)/gi);
};
CKEDITOR.dtd.$removeEmpty['i'] = false

请任何人尽快给出解决方案。

提前致谢。

1 个答案:

答案 0 :(得分:1)

这不是正确的解决方案,但现在这个技巧可以帮助我很短的时间。

我注意到在我的情况下,CKEditor会在找到'p'标签的位置自动添加'a'标签。 所以我只是将'p'标记更改为'pp',这样CKEditor将忽略p标记,我的内容永远不会被CKEditor更新,除非我更改它。