当<br/>直接出现在<audio>之前ckEditor删除<br/>

时间:2019-02-14 12:36:59

标签: javascript html html5 ckeditor4.x

我正在一个项目中,用户应该能够在嵌入式ckEditor中插入短文本和音频播放器并保存。添加音频效果很好,但是在删除<br>之前,<audio>会保存或刷新页面。在两个元素之间添加任何文本可防止删除<br>

到目前为止,我发现,当ckEditor调用<br>时,htmlDataProcessor.toHtmleditor.setData删除了。

我想知道的是为什么编辑器删除了<br>以及如何避免这种情况。

下面,我添加了一个片段,该片段的行为与项目中的编辑器相同。

CKEDITOR.inline('editor1', {
  enterMode: CKEDITOR.ENTER_BR,
  allowedContent: true
});
div {
  border-style: solid;
  min-height: 100px;
  padding: 5px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/ckeditor/4.11.2/ckeditor.js"></script>
<script>
  CKEDITOR.disableAutoInline = true;
</script>
<div contenteditable="true" id="editor1">Text <br> <audio controls></div>

谢谢!

1 个答案:

答案 0 :(得分:0)

添加extraAllowedContent:'audio;*(*);*{*}',它将允许您在编辑器中插入音频标签。

CKEDITOR.disableAutoInline = true;


CKEDITOR.inline('editor1', {
  enterMode: CKEDITOR.ENTER_BR,
  allowedContent: true,
  extraAllowedContent:'audio;*(*);*{*}'
});
div {
  border-style: solid;
  min-height: 100px;
  padding: 5px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/ckeditor/4.11.2/ckeditor.js"></script>

<div contenteditable="true" id="editor1">Text <br> <audio controls></div>