问题标签 [ckeditor5]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
13344 浏览

reactjs - 监听 CKEditor 5 中内容更改时触发的事件

如何收听ckeditor5中的“输入”事件?我希望能够Observables像这样使用:

到目前为止,我已经能够听到这样的一些事件:

但是我找不到在编辑器中更改数据后立即触发的事件的名称。我尝试了“更改”,但它仅在编辑器获得或失去焦点时触发。

0 投票
24 回答
81069 浏览

ckeditor - CKEditor 5(经典编辑器)如何设置高度

在 CKEditor 4 中更改编辑器高度有一个配置选项:config.height

如何更改 CKEditor 5 的高度?(经典编辑器)

0 投票
6 回答
72651 浏览

javascript - 如何在 CKEditor 5 中启用图像上传支持?

我将在我的项目中使用 ckeditor v5。我试图使用图像插件,但我没有找到足够的信息。

如果您在此处看到 Demoe ,您可以通过拖放轻松上传图像。但是当我尝试使用下载气球 zip 时,当我尝试拖放图像时没有任何反应。也没有错误。

有没有办法在可下载的变体中使用这种图像支持?

0 投票
0 回答
1843 浏览

html - 如何使用 require js 在 CKEditor 5(Inline Editor) 中启用图像上传支持?

点击insertImage图标时,显示浏览器上传图片。上传图片后,不插入图片。

0 投票
2 回答
14209 浏览

ckeditor - 如何从 CKEditor 5 实例中获取数据

我知道对于 CKEditor 4,您可以像这样获取 textarea 数据:

CKEditor 5 如何做到这一点?

0 投票
2 回答
4044 浏览

ckeditor - CKEditor 5 InlineEditor -- 如何配置工具栏?

我正在试验 CKEditor 5 InlineEditor。我想修改工具栏以添加其他选项。例如以下脚本:

它仍然显示默认工具栏,而不是指定的工具栏。文档中的示例显示了 ClassicEditor。是否可以使用 InlineEditor?如果是这样,我做错了什么?

编辑:正如所写,有一个错字。工具栏对象应该是 .create 的第二个参数,而不是 .querySelector 的第二个参数。正如所写,编辑器工作正常。除了工具栏问题。当错字被修复时,它根本不起作用。

0 投票
1 回答
771 浏览

ckeditor - CKEditor5 在自定义数据处理器中使用模型

我在玩 CKEEditor5,并尝试创建一个自定义数据处理器。我想在toData转换中使用模型,但是方法是用view/DocumentFragment对象调用的。所以我的问题是如何将其转换为model/DocumentFragment对象(或如何从数据处理器访问模型)。

更新(因为它不适合评论):让我尝试更详细地解释我到底尝试做什么(或者到目前为止我已经做了)。我想出了如何使用访问模型本身,但这似乎是一个糟糕的解决方案,因为您也指出了这一点。

所以基本上我想创建一个DataProcessor将编辑器数据转换为 BBCode,我猜这听起来很合理。

一方面,该toView方法很简单,因为可以假设已经实现了 BBCode 到 HTML 的转换(在我的例子中)。从 HTML 加载编辑器数据似乎很简单(通过 Markdown 处理器使用的相同过程)。

另一方面,从模型数据而不是视图转换为 BBCode 似乎更容易。主要是因为view/DocumentFragment对象和视图树的其余部分几乎只是 DOM 或 HTML 的另一种表示。我真的不在乎粗体是否是<b>或者<strong>我只是想知道text节点是否具有bold属性。

通过使用该模型,我希望使用语义而不是 HTML 中使用的表示。基本上将所有 HTML 标签映射到它们的 BBCode 等价物似乎有点毫无意义(即使 CKE5 在提供一致的 HTML 标签方面做得很好)。所以从我的角度来看,使用模型更有意义。从语义表示转换为“数据格式”比转换为“数据格式”(视图树、DOM、HTML、摩尔斯电码)然后创建“表示图”更容易。

长期以来,阻碍我们使用 RTE 或 WYSIWYG 编辑器的正是从 HTML 转换为 BBCode 的难度。现在 CKE5 有了模型,它似乎很容易转换为任何东西,因为它不仅独立于 HTML 格式,还独立于编辑器中显示的 HTML(这不能说关于视图树,因为它正是编辑器 - 至少它不是 contenteditable 产生的任何东西,但仍然不够好)。

另外:我刚刚做了一个Plugin设置DataProcessor,因为这也是 Markdown 功能所做的(在某处的文档中)。这是个坏主意吗?

再次感谢您的回答。

0 投票
1 回答
3429 浏览

ckeditor - 我可以在提交表单时使用 CKEditor 5 Inline 或 Balloon Editor 吗?

我想在提交表单时使用 CKEditor 5 Inline 或 Balloon 编辑器,但我遇到了困难。

我可以使用经典编辑器使提交完美地工作,但内联编辑器阻止我在该字段中输入。

这是我的代码:

这是HTML:

在页面上,编辑器出现了,但我无法在 Safari (Mac) 上输入。

我看起来这在CKEditor 4中是可能的,在 5 中可能吗?

0 投票
1 回答
1068 浏览

ckeditor - CKEditor 5 - 带有 VueJS v1 的经典 - 未设置数据

我在 Vue V1 中有一个自定义类型:

它正确加载数据,但是当我在字段中输入时,data属性没有更新(见截图)Vue截图

每当更改编辑器数据时,是否有可以捕获的事件或其他什么,以便我可以更新 Vue (V1) 数据?

0 投票
1 回答
1296 浏览

ckeditor - 无法输入到 CKEditor5 的 EditableElement

在 CKEditor5 中,我尝试实现自定义元素以将模型转换为视图以进行编辑。然后,容器元素(@ckeditor/ckeditor5-engine/src/view/containerelement)中的可编辑元素(@ckeditor/ckeditor5-engine/src/view/editableelement)聚焦于父容器元素,不能被编辑。

例如,如果实现如下:

插入 'myElement' 和 keydown "abc" 后实际编辑 dom 的结果。(我希望将“abc”的文本输入到h4标签但是......)

我还尝试使用小部件来应用 contenteditable 属性。但是,无法在 h4 中输入文本。

是这个错误,还是我对容器元素的理解有误?

[额外细节]

我假设为排名列表制作一个小部件插件。

首先,排名列表是由<ol><li>标签构成的,因为它有多个项目。我通过定义“rankingList”和“rankingListItem”等两个模式解决了这个问题,因此我使用嵌套模型元素实现了动态元素。

接下来,排名列表的项目有链接、图像、标题和注释。因此,排名列表项具有以下 DOM 结构:

我希望视图元素如下:

总之,我想使用可编辑视图来不破坏已定义的 DOM 树。我怎样才能意识到它?