我正在开发一个项目,用户应该可以在内联ckEditor中插入短文本和音频播放器并保存。添加音频工作正常,但在<br>
被删除之前直接保存或刷新页面<audio>
。在两个元素之间添加任何文本可防止删除<br>
。
到目前为止我发现的是,当ckEditor调用<br>
时,htmlDataProcessor.toHtml
被editor.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>
提前致谢!
添加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>