以下是 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 键强制提交的问题
此前,在创建类别或模板时,若焦点位于标题输入框,即使提交按钮被禁用,按 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"。
此前,<details> 元素的 open 属性在使用 accordion 插件时定义不一致。某些情况下,该属性显示为 open="true",而通过插件切换时会将其转换为 open="open"。这种不一致在加载包含多个不同属性值的打开折叠面板的外部创建内容时会导致问题,进而造成折叠面板状态不匹配。
在 TinyMCE 8.2.0 中,该行为已标准化:当启用 accordion 插件时,open 属性在内容加载时会标准化为 open="open"。
如果按钮图标在悬停时更新,工具栏按钮上的提示信息有时会保持可见
此前,当图标更新时,按钮提示信息并不总能正确关闭,因为处理悬停事件的元素被替换,且 mouseout 事件从未触发。这导致提示信息在点击按钮后仍然可见,造成混乱的 UI 体验。
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 中,水平光标导航逻辑已更新,以确保在绝对定位元素周围导航时,光标移动不再受到干扰。
模式现在将允许 meta 元素上的 property RDFa 属性
以前,模式不识别 meta 元素上的 property RDFa 属性为有效,导致其在 TinyMCE fullpagehtml 高级插件等功能的内容验证过程中被删除。这种行为可能会剥离用于社交媒体预览或结构化数据集成的关键元数据,并要求集成者手动将该属性列入白名单以保留它。
在 8.2.0 中,模式已更新,将 property 包括为 meta 元素的有效属性。此更改确保与常见元数据标准的兼容性。
更正了 undoManager.add 方法的类型。event 参数的类型为 EditorEvent 而不是 Event。
undoManager.add 方法之前将其 event 参数定义为 Event 类型,导致类型推断不准确并降低了开发者清晰度。这个问题导致类型验证不完整,并在使用 undo() 事件时限制了 IDE 的帮助。
TinyMCE 8.2.0 通过更新 undoManager.add 方法,将 event 参数的类型设为 EditorEvent<unknown> 来解决此问题,确保与其他 TinyMCE API 的一致性。
有关 undoManager.add 方法的更多信息,请参阅:undoManager.add()。
在某些情况下,Chromium 浏览器在将内容拖放到编辑器上时会意外滚动编辑器。
以前,在基于 Chromium 的浏览器中(从 Chrome 141 开始,以及一些 140 版本),在 dragover 事件期间聚焦编辑器可能会触发浏览器的滚动到光标行为。由于光标最初位于文档的开头,当用户将内容拖放到编辑器上时,页面可能会跳到顶部,干扰拖放工作流。
在 TinyMCE 8.2.0 中,dragover 处理已更新,在编辑器接收焦点之前将光标移动到预期的放置位置。这确保了 Chrome 的滚动到光标检查发现光标已经在视图中,防止意外滚动并保持流畅的拖放体验。
添加了对在 iframes 中加载 web 组件的支持
以前,没有方法可以将 web 组件加载到编辑器 iframe 或其他插件使用的预览 iframe 中,这阻止了这些组件正确渲染。这一限制影响了依赖自定义 web 组件来实现扩展编辑器功能或内容可视化的用户。在 8.2.0 中,引入了一个新的 API getComponentUrls,允许在自定义元素模式中指定 web 组件的脚本 URL。这一增强使 web 组件能够在 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)复制时,暂停和静音的视频可能会开始播放音频。一旦发生这种情况,音频即使在从编辑器中删除视频后也会继续播放。
临时解决方案:无。用户必须刷新页面以停止不需要的音频,这可能会导致任何未保存的内容丢失。
状态:目前正在调查中。