这是一个非常好的问题,因为 Discuz! 作为一款历史悠久的论坛程序,其编辑器的演变也反映了中国互联网技术的发展历程。

discuz论坛里用的网页在线编辑器
(图片来源网络,侵删)

Discuz! 论坛主要使用过两种类型的网页在线编辑器:

  1. 经典编辑器:基于 Discuz! 自主开发的编辑器 (早期版本)
  2. 默认编辑器:基于 UCenter Home (UCHome) 的编辑器,即后来著名的 KindEditor**** (主流版本)

下面我们来详细说明这两种编辑器。


经典编辑器 (Discuz! 自主开发)

这是在 Discuz! 7.2 及更早版本中广泛使用的编辑器。

  • 技术栈

    discuz论坛里用的网页在线编辑器
    (图片来源网络,侵删)
    • 核心:纯 JavaScript 编写。
    • 特点:功能相对基础,代码耦合度高,与 Discuz! 的后台系统和模板系统深度绑定,它的设计初衷就是为了满足论坛发帖、回帖的基本需求。
  • 主要功能

    • 文本格式化:加粗、斜体、下划线、字体颜色、背景色等。
    • 插入元素:插入链接、图片、表情、Flash 动画。
    • 对齐方式:左对齐、居中、右对齐。
    • 列表:有序列表、无序列表。
    • 代码/引用:插入代码块、引用文本。
    • 特殊功能:插入投票、上传附件(直接关联论坛附件系统)。
  • 优点

    • 与 Discuz! 系统无缝集成,调用附件、表情等非常方便。
    • 在当时网络环境较慢、浏览器性能有限的情况下,加载速度和运行速度较快。
  • 缺点

    • 功能相对简单,无法满足日益丰富的内容创作需求。
    • 代码老旧,兼容性较差,在现代浏览器上可能出现样式错乱或功能异常。
    • 用户体验和美观度远不如后来的编辑器。

默认编辑器:KindEditor (Discuz! 7.2 - X3.4)

从 Discuz! 7.2 开始,官方开始集成由 王兴宇 开发的 KindEditor 作为默认编辑器,并一直沿用到 Discuz! X3.4 版本,可以说,KindEditor 是一代中国网民的集体回忆。

discuz论坛里用的网页在线编辑器
(图片来源网络,侵删)
  • 技术栈

    • 核心:基于 JavaScript 开发。
    • 开源:KindEditor 是一款开源的、可视化的 HTML 编辑器,其代码托管在 Google Code 和后来的 GitHub 上。
    • 特点:功能强大、界面美观、可扩展性好,是当时国内最流行的网页编辑器之一,被大量网站采用(如 Discuz!、UCHome、ECShop 等)。
  • 主要功能

    • 丰富的格式化工具:提供了非常全面的文本、段落、样式编辑工具栏。
    • 多媒体支持:可以轻松插入图片(支持本地上传和网络引用)、Flash 视频、音频、超链接。
    • 表格编辑:功能强大的表格插入和编辑功能。
    • 代码编辑:支持在可视化模式和源码模式之间切换。
    • 表情包:内置了大量表情,并支持自定义表情包。
    • 文件管理器:集成了文件上传和管理功能,方便用户管理网站资源。
  • 优点

    • 功能强大:相比早期编辑器,KindEditor 提供了更接近桌面软件的编辑体验。
    • 用户体验好:界面直观,操作流畅,极大地提升了论坛用户的发帖体验。
    • 开源免费:降低了开发者和站长的使用成本。
    • 生态良好:拥有大量用户和开发者,社区活跃,插件和扩展丰富。
  • 缺点

    • 安全性问题:由于功能过于强大,对用户输入的过滤不够严格,KindEditor 曾一度是黑客攻击网站(上传Webshell)的重灾区,后期版本虽然加强了安全防护,但隐患依然存在。
    • 性能问题:在处理复杂内容或图片较多时,编辑器可能会出现卡顿。
    • 依赖 Flash:早期的图片上传等功能依赖 Flash,在 HTML5 时代显得有些过时。

新一代编辑器:百度 UEditor (Discuz! X3.5 及以后)

为了解决 KindEditor 的安全性和性能问题,并为用户提供更现代化的编辑体验,从 Discuz! X3.5 版本开始,官方将默认编辑器更换为由 百度前端研发部 开发的 UEditor

  • 技术栈

    • 核心:基于 JavaScript 开发,由百度团队开发和维护。
    • 特点:功能更加强大,性能更优,安全性更高,并且深度集成了百度的各项服务(如图片识别、地图等)。
  • 主要功能

    • 全功能覆盖:包含了 KindEditor 的所有功能,并在此基础上进行了大量增强。
    • 图片处理:支持图片拖拽、在线裁剪、图片加水印等。
    • 视频插入:支持插入优酷、土豆、腾讯视频等主流视频网站的外链视频。
    • 公式编辑:内置了数学公式编辑器,非常适合技术、学术类论坛。
    • 安全加固:对用户输入内容进行了更严格的过滤和转义,有效防止 XSS 攻击和恶意代码注入。
    • 性能优化:代码经过优化,加载和渲染速度更快。
  • 优点

    • 现代化体验:提供了接近专业内容管理系统(如 CMS)的编辑体验。
    • 安全性高:是更换编辑器的主要原因,大大提升了论坛的安全性。
    • 功能丰富:集成了百度 AI 能力,如“图片转文字”,非常实用。
    • 官方维护:由百度团队维护,有持续的更新和技术支持。
  • 缺点

    • 体积较大:功能强大也意味着文件体积相对较大,对服务器和浏览器性能有一定要求。
    • 学习成本:对于普通用户来说,工具栏上的功能过于复杂,可能需要一些时间来熟悉。

总结与对比

特性 经典编辑器 (Discuz! 自主) KindEditor 百度 UEditor
使用版本 Discuz! 7.2 及以前 Discuz! 7.2 - X3.4 Discuz! X3.5 及以后
开发者 Discuz! 官方 王兴宇 (个人/团队) 百度
技术 纯 JS 开源 JS 编辑器 开源 JS 编辑器
功能 基础 丰富 极其丰富
安全性 一般 较差 (漏洞多) 高 (主要改进点)
用户体验 简陋 良好 (一代经典) 现代、专业
性能 较快 一般 较好 (经优化)

站长如何更换编辑器?

虽然 UEditor 是当前官方推荐的默认编辑器,但 Discuz! 的设计非常灵活,站长可以根据自己的喜好和需求,轻松更换编辑器。

最常见的选择是 TinyMCECKEditor 5 (CKEditor 4 的继任者),它们都是国际上非常流行且功能强大的开源编辑器。

更换方法通常有两种:

  1. 使用第三方插件:许多开发者已经制作好了集成 TinyMCE 或 CKEditor 的插件,站长只需在 Discuz! 后台的“应用中心”搜索并安装即可,这是最简单的方法。
  2. 手动集成:对于有一定技术能力的站长,可以下载编辑器的源码,按照官方文档或相关教程,手动将其集成到 Discuz! 的模板中,这需要修改模板文件和调用相关的 JS、CSS 文件。

更换时需要注意:

  • 安全性:确保你使用的编辑器是来自官方或可信来源的,避免引入恶意代码。
  • 兼容性:新编辑器可能与 Discuz! 的某些功能(如投票、特殊插件)不完全兼容,需要进行测试。
  • 样式:新编辑器的工具栏和样式可能与你的论坛主题不匹配,可能需要自定义 CSS 来调整。

希望这个详细的解答能帮助你全面了解 Discuz! 论坛的在线编辑器!