CKEditor 5 自定义插件:从外部源加载的标记结构不正确

问题描述 投票:0回答:1

我正在将自定义插件从 v4 迁移到 v5。这是一个相当陡峭的学习曲线,而且我仍然不太精通这些东西。看起来我现在在编辑器中创建内容时几乎可以正常工作了,但是当我的插件所处理的标记来自外部源时我遇到了问题 - 比如后端服务器或只是在编辑器的源模式下粘贴标记。

该插件的目的是帮助添加和修改某些特殊的

span
元素。他们看起来像这样:

<span class="cloze-test-wrapper" case-sensitive="false" 
    cloze="true" precision="3" id="$j46k">some text</span>

当我从头开始使用插件创建这样的元素时,事情看起来很完美。我也可以修改它。但是当我将其保存到数据库并最终将其返回到编辑器后,情况就不再是这样了。现在有一个额外的嵌套

span
:

<span class="cloze-test-wrapper" case-sensitive="false"
    cloze="true" precision="3" id="$j46k">
    <span class="cloze-test-wrapper" cloze="true">some text</span>
</span>

我不太明白为什么会发生这种情况。内部

span
标签应该被剥离,但我不确定在哪里以及如何做这些事情。该代码几乎是根据官方缩写插件教程改编的,我进行了向下转换和向上转换。在从外部源引入标记之前,东西在 CKEditor 检查器中看起来很好。

编辑器版本是 43.3.1,这是一个 Angular 应用程序,所以我使用@ckeditor/ckeditor5-angular(版本 9.0.0)

编辑:有趣的是,当我保存编辑并查看保存这些内容的数据库时,我发现额外的

span
不在那里:)显然它在途中的某个地方得到了清理。所以也许这毕竟不是那么关键的问题。

edit2:实际上这仍然是一个问题。我必须编写一种方法来修复标记,一旦它离开编辑器。但这只是急救,我真的很想让它正常工作。编辑器的内部结构也很难调试。很难指出问题到底出在哪里。

ckeditor5
1个回答
0
投票

没关系。在我沮丧的配置中发现了一个愚蠢的复制粘贴错误。现在完美运行。

© www.soinside.com 2019 - 2024. All rights reserved.