以下是 Tiny Cloud 和 TinyMCE Enterprise 的发行说明。有关 TinyMCE 最新社区版本的信息,请参阅 TinyMCE Changelog。

概述

TinyMCE 8.2.0 于 2025 年 10 月 22 日星期三面向 TinyMCE Enterprise 和 Tiny Cloud 发布。本发行说明概述了 TinyMCE 8.2.0 的变更内容,包括:

  • 配套 Premium 插件变更

  • 改进

  • Bug 修复

  • 已知问题

配套 Premium 插件变更

以下 Premium 插件更新与 TinyMCE 8.2.0 一同发布。

Media Optimizer

TinyMCE 8.2.0 版本包含配套发布的 Media Optimizer Premium 插件。

Media Optimizer 现包含全面的视频处理功能。

视频上传支持

Media Optimizer 插件现支持视频上传与处理,突破此前仅限图像的功能限制。用户可通过拖拽、文件选择或 URL 输入方式,直接在编辑器中上传视频。

插件现支持 MP4、WebM 等常见视频格式。

该新功能支持以下配置选项:

  • uploadcare_video_properties:全面的视频播放器配置,包括自动播放、控件、循环播放等。

  • uploadcare_video_resize:控制是否允许在编辑器内直接调整视频大小的选项。

有关 Media Optimizer 插件的信息,请参阅:Media Optimizer: Video。

浮动图像的空标题未正确渲染

在 Media Optimizer 的先前版本中,当图形使用 display: table 样式时,浮动的 <img> 可能导致空 <figcaption> 在图像旁而非下方错误渲染。删除标题文本会进一步破坏布局,导致标题区域偏移或完全消失。

在 TinyMCE 8.2.0 中,此问题已修复:当关联图像浮动时,对 <figcaption> 元素应用 clear: both。这确保标题始终在图像下方渲染(即使为空),保持正确对齐和一致的视觉结构。

有关 Media Optimizer 插件的信息,请参阅:Media Optimizer。

License Key Manager

TinyMCE 8.2.0 版本包含配套发布的 License Key Manager。

新增 js/commerciallicensekeymanager.js 文件,在编辑器初始化后延迟加载插件大部分功能

License Key Manager 已重构,包含按需延迟加载的 js/commerciallicensekeymanager.js 文件。此变更减少了编辑器的初始化时间和首次渲染时间。

有关 License Key Manager 插件的信息,请参阅:License Key Manager。

Templates

TinyMCE 8.2.0 版本包含配套发布的 Templates Premium 插件。

Templates 包含以下修复。

在创建分类或模板时,标题输入框聚焦状态下按回车键,即使提交按钮禁用也会提交表单

此前,在创建分类或模板时,若标题输入框处于聚焦状态,按 Enter 键会触发表单提交,即使提交按钮已禁用。这是因为输入处理逻辑在提交前未验证表单状态。结果,用户可能无意中尝试创建空名称的分类或模板,导致错误。

TinyMCE 8.2.0 通过更新输入处理逻辑解决了此问题:在允许通过按 Enter 键提交前检查表单有效性。现在,若表单无效或提交按钮禁用,按 Enter 键不会触发提交,避免错误创建空名称分类或模板的尝试。

Suggested Edits

TinyMCE 8.2.0 版本包含配套发布的 Suggested Edits Premium 插件。

Suggested Edits 包含以下改进。

新增 suggestededits_auto_approve 选项,自动批准当前用户的编辑

Suggested Edits 插件新增 suggestededits_auto_approve 选项。该选项允许自动批准当前用户(由 user_id 设置定义)所做的编辑,无需人工审核。启用后,该用户的所有新编辑和先前建议的变更将立即被批准并应用,优化无需审核的工作流。

有关 suggestededits_auto_approve 选项的详细信息,请参阅:suggestededits_auto_approve。

建议现显示已变更的内容类型

此前,Suggested Edits 插件仅在建议卡片描述中显示“content”一词,作为每个建议的泛化上下文。

在 8.2.0 版本中,Suggested Edits 插件在卡片描述中同时显示内容类型和编辑类型,以便为每条建议提供更丰富的上下文信息。

有关 Suggested Edits 插件的信息,请参阅:Suggested Edits。

Full Page HTML

TinyMCE 8.2.0 版本包含 Full Page HTML 高级插件的配套版本发布。

Full Page HTML 包含以下修复。

由 charset meta 属性定义的编码未被检测到

先前的编码检测逻辑无法识别通过 charset meta 属性定义的某些编码,导致同一页面内出现不一致或冲突的编码,从而引发显示或编辑问题。

TinyMCE 8.2.0 通过新增对新编码类型的支持解决了此问题,确保原始编码格式和新编码格式均能被正确检测与处理。因此,使用任一编码样式的页面如今都能得到一致的处理。当编辑已编码内容时,输出结果将规范化为此前支持的编码格式,确保标记一致性,并避免因保留原始编码样式而可能导致的混淆。

head 元素与 meta 元素被添加至同一行

此前,Full Page HTML 插件中的 meta 属性未被正确视为块级元素。这导致 <head> 元素被直接追加到与 meta 标签同一行,造成生成的 HTML 输出中出现格式不一致的问题。

在 8.2.0 版本中,meta 属性已更新为以块级元素方式运行,从而确保在 <head> 部分内实现正确的分隔和换行处理。

有关 Full Page HTML 插件的信息,请参阅:Full Page HTML。

改进

TinyMCE 8.2.0 还包含以下改进:

序列化器在缩进时会给某些元素添加多余换行符

此前,由于 DOM Parser 序列化器未将 title 正确识别为块级元素,导致某些元素在缩进时获得额外换行。这使输出中出现不必要的空白。该问题已通过在代码中显式将 title 标记为块级元素解决,确保序列化不再引入多余空白。

Bug 修复

TinyMCE 8.2.0 还包含以下 Bug 修复:

焦点轮廓和占位符等 UI 元素在打印后会可见

此前,焦点轮廓和占位文本等 UI 元素会在编辑器内容的打印版本中渲染,导致打印文档中出现不必要的视觉伪影。这种行为引发混淆并降低了打印材料的专业性。为解决此问题,引入了打印专用样式,以便在打印期间自动隐藏编辑器内容中的所有 UI 相关元素。因此,打印输出现仅包含预期内容,确保所有打印材料呈现干净一致的效果。

启用 accordion 插件后,<details> 元素的 open 属性现被规范化为 open="open"。

此前,在 accordion 插件中使用 <details> 元素的 open 属性时定义不一致。在某些情况下,该属性显示为 open="true",而通过插件切换时会将其转换为 open="open"。这种不一致导致在加载包含多个具有不同属性值的打开手风琴组件的外部创建内容时出现问题,造成手风琴组件状态不匹配。

在 TinyMCE 8.2.0 中,该行为已实现标准化:启用 accordion 插件后,open 属性会在内容加载时被规范化为 open="open"。

工具栏按钮的工具提示有时会保持可见

此前,当图标在悬停时被更新,按钮工具提示可能无法正确消失,因为处理悬停事件的元素被替换,导致 mouseout 事件从未触发。这使工具提示在点击按钮后保持可见,造成令人困惑的用户体验。

TinyMCE 8.2.0 通过调整图标渲染逻辑解决了此问题,使悬停和工具提示行为绑定到按钮本身而非图标元素。因此,当 setIcon API 更新图标时,不再干扰鼠标事件。

编辑器获得焦点时可能在部分浏览器中滚动至中心

针对 Chromium bug 的旧版变通方案,当编辑器顶部边缘位于视口外且获得焦点时,会导致页面滚动至编辑器中心;尽管与此无关,但诸如 autoresize 等功能频繁触发此行为,并在部分情况下导致意外滚动。

自 TinyMCE 8.2.0 起,由于底层 Chromium 问题已修复,该变通方案已被移除,允许浏览器原生管理滚动行为。

获取内容时未正确过滤与拖动元素相关的部分 UI 元素

在 TinyMCE 8.2.0 中,修复了一个表格大小调整功能使用的元素未被序列化器标记为删除的问题。在表格大小调整过程中通过 getContent() 调用获取内容时,这些临时的 UI 节点可能会包含在返回的 HTML 中,导致多余的标记并可能损坏数据。

该修复通过给这些元素添加伪属性,让序列化器能够可靠地过滤它们,确保内容检索干净稳定,并防止在保存或处理的输出中出现意外的残留物。

使用方向键导航时,光标可能会卡在绝对定位的 CEF 元素周围

此前,当使用方向键导航包含绝对定位的不可编辑元素的内容时,光标可能会被困在这些元素附近。此问题干扰了插入符移动,使用户难以继续在编辑器内容周围导航。

在 TinyMCE 8.2.0 中,水平插入符导航逻辑已更新,以确保在绝对定位元素周围导航时不再受干扰。

现在 schema 将允许 meta 元素上的 property RDFa 属性

此前,schema 不认为 property RDFa 属性对 meta 元素有效,导致其在 TinyMCE fullpagehtml premium 插件等内容验证功能中被移除。此行为可能剥离用于社交媒体预览或结构化数据集成的关键元数据,并要求集成人员手动将该属性列入白名单以保留它。

在 8.2.0 中,schema 已更新,将 property 作为 meta 元素的有效属性。此更改确保了与常见元数据标准的兼容性。

修正了 undoManager.add 方法的类型。event 参数类型为 EditorEvent 而非 Event。

undoManager.add 方法此前将其 event 参数定义为 Event 类型,导致类型推断不准确并降低开发者清晰度。此问题导致类型验证不完整,并在使用 undo() 事件时限制了 IDE 辅助功能。

TinyMCE 8.2.0 通过更新 undoManager.add 方法,使用 EditorEvent<unknown> 类型作为 event 参数解决了此问题,确保与 TinyMCE 的其他 API 保持一致。

有关 undoManager.add 方法的更多信息,请参阅:undoManager.add()。

在某些情况下,Chromium 浏览器在将内容拖到编辑器上时会意外滚动编辑器。

此前,在基于 Chromium 的浏览器(从 Chrome 141 开始及部分 140 版本)中,在 dragover 事件期间聚焦编辑器可能触发浏览器的滚动到插入符行为。由于插入符最初位于文档开头,用户在将内容拖到编辑器上时,页面可能跳回顶部,干扰拖放工作流。

在 TinyMCE 8.2.0 中,dragover 处理已更新,在编辑器接收焦点之前将插入符移动到预期的放置位置。这确保 Chrome 的滚动到插入符检查发现插入符已在视图中,防止意外滚动并保持流畅的拖放体验。

添加了对将 web components 加载到 iframes 中的支持

此前,没有方法可将 web components 加载到编辑器 iframe 或其他插件使用的预览 iframes 中,导致这些组件无法正确渲染。这一限制影响了依赖自定义 web components 以扩展编辑器功能或内容可视化的用户。在 8.2.0 中,引入了新的 API getComponentUrls,允许在自定义元素 schema 中指定 web component 的脚本 URL。此增强功能使 web components 能够在 TinyMCE 编辑器环境中正确注册和渲染。

有关使用块级和行内级组件的自定义元素的示例,请参阅:使用带有块级和行内级组件的 custom_elements 的示例。

解决了拆分按钮渲染宽度比 TinyMCE 7 更窄的问题,确保工具栏大小一致

在 TinyMCE 8.2.0 中,解决了拆分按钮渲染宽度比 TinyMCE 7 和其他工具栏按钮更窄的问题。这是因为拆分按钮的主要部分使用了一个 CSS 规则,导致其在初始化时收缩到图标大小,从而产生了错误的固定宽度。这使得拆分按钮外观不一致,降低了其可点击性,并可能导致文本标签被截断。

TinyMCE 8.2.0 通过调整宽度行为,为图标继承正确的 34px,为文本自动调整,确保工具栏大小一致,解决了此问题。

已知问题

TinyMCE 8.2.0 还包含以下已知问题:

Uploadcare 视频在复制暂停和静音的视频后音频继续播放

在某些边缘情况下,当视频被插入、播放、暂停和静音后,使用 Ctrl+C(或 Mac 上的 Cmd+C)复制时,暂停且静音的视频可能会开始播放音频。一旦发生这种情况,即使从编辑器中删除视频,音频也会继续播放。

解决方法: 无,用户必须刷新页面才能停止不需要的音频,这可能会导致未保存内容丢失。

状态: 目前正在调查中。