如何将格式化的HTML加载到ckeditor 5中,而不是使用标签进行标记

时间:2019-04-29 15:47:45

标签: javascript html ckeditor ckeditor5

因此,我想将已格式化的html加载到ckeditor 5中。由于最终数据将来自此控件,因此我不太担心格式不好,但是要测试一下,我只是使用了粗体部分和休息。加载到编辑器中时,我会期望像这样:

是测试

另一项测试

但实际上我得到了:

This <b> is a test <br/>Another test

这当然与源相同,没有被标记。

我尝试了一些事情,包括setData调用和以下代码,这些代码是从ckeditor示例中修改的:

const viewFragment = theEditor.data.processor.toView('@Model.MailTemplate.MailTemplateData');
const modelFragment = theEditor.data.toModel(viewFragment);

theEditor.model.insertContent(modelFragment, theEditor.model.document.selection);

我还试图将标记简单地添加到div中。所有这些都显示原始html,而不是我想要的格式化文本。

我缺少明显的东西吗?预先感谢。

编辑:完整(相关)代码:

            <div class="document-editor">
                <div class="document-editor__toolbar"></div>
                <div class="document-editor__editable-container">
                    <div class="document-editor__editable">
                        @* @Model.MailTemplate.MailTemplateData *@
                    </div>
                </div>
            </div>

// In script block...
        DecoupledEditor
            .create(document.querySelector('.document-editor__editable'))
            .then(editor => {
                const toolbarContainer = document.querySelector('.document-editor__toolbar');
                toolbarContainer.appendChild(editor.ui.view.toolbar.element);

                theEditor = editor;
                //window.editor = editor;

                const viewFragment = theEditor.data.processor.toView('@Model.MailTemplate.MailTemplateData');
                const modelFragment = theEditor.data.toModel(viewFragment);

                theEditor.model.insertContent(modelFragment, theEditor.model.document.selection);

                //theEditor.setData('@Model.MailTemplate.MailTemplateData');
            })
            .catch(err => {
                console.error(err);
            });

请注意,document-editor__editable中的文本已被注释掉,但我也尝试过这样做。

0 个答案:

没有答案