想要删除CKEDITOR 4.2.0中的<br type="_moz"/>标记

时间:2013-08-27 15:39:44

标签: ckeditor

使用内联编辑器CKEDITOR 4.2.0和Firefox 23.0.1,我的可编辑div标签的内部html包含<br type="_moz">。它没有插入IE。

我可以使用javascript轻松找到并替换此标记。

如何在config.js文件中全局处理所有内联可编辑div?

4 个答案:

答案 0 :(得分:4)

不应通过element.innerHTML(或$(element).html())从内联编辑器获取数据。实际存在的内容与CKEditor从editor.getData()返回的内容之间存在显着差异(这是正确的使用方法)。

这种差异来自这样的事实:数据(由editor.setData()设置 - 是 - 不要直接设置)需要转换为在contenteditable元素内更好地编辑。因此,需要恢复该转换(以及由/为浏览器完成的其他奇怪的事情)并且这发生在editor.getData()上。

PS。如果您不知道从哪里获取编辑器实例,请检查全局CKEDITOR.instances对象。

答案 1 :(得分:1)

如果使用jQuery,您只需在文档中搜索&lt; br type =“_ moz”&gt;并删除它。当然,您不需要搜索整个文档,只需要搜索您想要的DOM元素。

$(document).find('br').each(function(){
    if($(this).attr('type') === '_moz'){
        $(this).remove();
    }
});

答案 2 :(得分:1)

快速简单的CSS解决方案是将以下内容添加到加载到CKeditor的样式表中:

br[type="_moz"]{display: none;}

答案 3 :(得分:0)

我使用过这个补丁,它对我有用。

http://dev.ckeditor.com/attachment/ticket/5767/5767.patch

不幸的是,ckeditor团队没有使用这个补丁。

从_ appendBogus删除source/core/dom/element.js函数并将新appendBogus函数添加到_source/core/dom/walker.js,然后根据ckeditor.pack文件合并所有js文件以重新创建ckeditor.js