gpt4 book ai didi

javascript - CKEditor 5 - 允许跨度元素和属性

转载 作者:行者123 更新时间:2023-11-29 11:00:39 30 4
gpt4 key购买 nike

我正在尝试使用 CKEditor 5 Framework 制作自定义插件。但是,我无法插入(通过 editor.setData())段落和其他元素(如 span)的任何属性。有什么办法可以实现吗?

谢谢!

最佳答案

CKEditor 5 实现了一个自定义数据模型,您可以在 Architecture introduction guide 中阅读更多内容.

自定义数据模型的存在意味着编辑器需要知道如何将该模型转换为 View 结构(DOM)以进行编辑。此外,由于编辑器通常输出 HTML(或结构上“兼容”的格式,如 Markdown、BBCode 等),因此需要进行类似的转换才能从编辑器中获取数据。最后,编辑器需要能够将 View 转换为模型,以便您能够将数据加载到编辑器中。

旁注:您可能还想将模型直接保存到数据库中,这样可以避免将 View 转换为模型(在 setData() 上),但尽管可能仍然意味着编辑器需要知道如何将模型转换为 View 以进行编辑,将 View 转换为模型以进行粘贴。

这一切意味着什么?这意味着除非现有的编辑器功能可以选择特定内容,否则它将被删除。它不会在数据加载时从 View 转换为模型,因此会被遗忘。

因此,一切都与转换器有关。您需要教您的编辑器如何理解 HTML 以及如何呈现 HTML。实际上,您还需要教它如何编辑(此时)模型的这些特定部分(通过配置模式和实现适当的 UI)。

那么,如何编写转换器和配置架构?

嗯,这是目前的一个问题,因为现在(截至 2017 年 12 月)我们正处于 CKEditor 5 engine 的中间。重构。我们拥有的架构很棒,但 API 被证明太难使用,所以我们现在正在改进它们,这意味着我在这里写的任何内容都将在下个月失效。因此,相反,我建议查看 CKEditor 5 packages 的来源(例如,参见 plugins in the basic styles package )。

关于javascript - CKEditor 5 - 允许跨度元素和属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47734328/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com