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

概述

TinyMCE 8.5.0 于 2026 年 4 月 29 日(星期三)发布,适用于 TinyMCE Enterprise 和 Tiny Cloud。本发行说明概述了 TinyMCE 8.5.0 的变更,包括:

  • 配套的 Premium 插件变更

  • 配套的 Enhanced Skins & Icon Packs(增强皮肤和图标包)变更

  • 改进

  • 新增

  • 更改

  • Bug 修复

  • 弃用

配套的 Premium 插件变更

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

Spell Checker(拼写检查器)

TinyMCE 8.5.0 版本包含配套发布的 Spell Checker Premium 插件。

Spell Checker 包含以下变更。

Spell Checker 插件现使用 content_language 选项作为默认语言,若未设置则回退到 spellchecker_language

此前,Spell Checker 插件仅依赖 spellchecker_language 选项来确定默认的校对语言。无法使拼写检查器语言与编辑器中设置的内容语言保持一致。

在 TinyMCE 8.5.0 中,Spell Checker 插件现首先读取新的 content_language 选项,并将其值用作默认校对语言。若未设置 content_language,插件将回退到 spellchecker_language。spellchecker_language 选项将在未来的主版本中弃用;鼓励集成者使用 content_language 替代。

有关 Spell Checker 插件的信息,请参阅:Spell Checker。

Accessibility Checker(无障碍检查器)

TinyMCE 8.5.0 版本包含配套发布的 Accessibility Checker Premium 插件。

Accessibility Checker 包含以下修复。

Accessibility Checker 在多行内联元素上的覆盖层过暗

此前,当 Accessibility Checker 高亮显示多行内联元素时,覆盖效果显得过暗。应用于这些元素的 box-shadow 变暗效果在多行上堆叠,使得高亮内容难以阅读。

在 TinyMCE 8.5.0 中,多行内联元素的覆盖层样式已得到修正。无论内联元素跨越多少行,Accessibility Checker 的高亮显示现在都能以预期的亮度级别呈现。

有关 Accessibility Checker 插件的信息,请参阅:Accessibility Checker。

Media Optimizer(媒体优化器)

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

Media Optimizer 包含以下修复。

文件上传失败时上传进度 UI 未隐藏

此前,Media Optimizer 插件中的上传进度 spinner 每次更新其可见性状态时都会重新创建。当文件上传失败且需要隐藏 spinner 时,仅隐藏新创建的实例,而原始 spinner 仍可见。这导致即使上传出错,上传进度 UI 也永久显示。

在 TinyMCE 8.5.0 中,spinner 现仅创建一次,并在可见性状态改变时重复使用。文件上传失败时,上传进度 UI 会按预期隐藏。

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

PowerPaste

TinyMCE 8.5.0 版本包含配套发布的 PowerPaste Premium 插件。

PowerPaste 包含以下修复。

在较新版本的 Firefox 中,上标和下标文本未正确转换为 sub 或 sup 元素

此前,从 Google Docs 粘贴包含下标或上标文本的内容到 Firefox 149 及更高版本的 TinyMCE 中时,未正确将文本转换为语义 sub 或 sup 元素。较新版本的 Firefox 使用 baseline-shift CSS 属性而非 vertical-align 属性进行下标和上标格式设置,而 PowerPaste 未识别该属性。结果,粘贴的文本丢失了其下标或上标格式。

在 TinyMCE 8.5.0 中,PowerPaste 现可在粘贴操作期间正确处理 baseline-shift CSS 属性,将使用 baseline-shift: sub 或 baseline-shift: super 设置样式的内容转换为相应的 sub 和 sup 元素。

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

Revision History(修订历史)

TinyMCE 8.5.0 版本包含配套发布的 Revision History Premium 插件。

Revision History 包含以下修复。

预览 iframe 缺少内容样式,如 figure 对齐

此前,Revision History 预览 iframe 未包含 mce-content-body 类,导致 figure 对齐等内容样式渲染不正确。

在 TinyMCE 8.5.0 中,mce-content-body 类已应用于预览 iframe,确保内容与编辑器中的渲染保持一致。

有关 Revision History 插件的信息,请参阅:Revision History。

Suggested Edits

TinyMCE 8.5.0 版本包含了 Suggested Edits 高级插件的配套发布版本。

Suggested Edits 包含以下修复。

预览 iframe 缺少 figure 对齐等内容样式

此前,Suggested Edits 预览 iframe 未包含 mce-content-body 类,导致 figure 对齐等内容样式渲染错误。

在 TinyMCE 8.5.0 中,mce-content-body 类已应用于预览 iframe,确保内容渲染与编辑器保持一致。

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

TinyMCE AI

TinyMCE 8.5.0 版本包含了 TinyMCE AI 高级插件的配套发布版本。

TinyMCE AI 包含以下修复、改进和新增功能。

使用用户自定义提示词和模型选择的自定义审阅

此前,Review 侧边栏仅提供固定的内置审阅类型(如 Proofread、Improve clarity 和 Adjust tone and style),用户无法定义自己的审阅标准,也无法为审阅过程选择特定的 AI 模型。

在 TinyMCE 8.5.0 中,Review 侧边栏新增了 Custom review(自定义审阅)类别。用户可以输入自然语言提示词,并且在 tinymceai_allow_model_selection 允许的情况下,可以选择 AI 模型。审阅将运行与内置审阅相同的流式建议和应用流程。自定义审阅可以包括检查特定单词或短语,直至应用完整的公司风格指南。若要在 Review 侧边栏中隐藏 Custom review,请从 tinymceai_reviews 中省略 'ai-reviews-custom'。

有关 Custom review 的信息,请参阅:Custom review。

获取的长来源列表可能导致 AI 聊天中的子菜单溢出且无法滚动

此前,当 AI 聊天返回的获取来源列表超出可用空间时,子菜单会溢出到可见区域之外,且没有任何滚动机制。这导致用户无法查看或选择可见区域之外的来源,阻碍了功能并造成了糟糕的用户体验。尝试在溢出的子菜单内滚动会完全关闭该菜单。

在 TinyMCE 8.5.0 中,AI 聊天来源子菜单设置了最大高度限制并支持滚动条。长获取来源列表现在显示在可滚动区域内,无论列表多长,用户都可以访问所有来源。

在某些浏览器/操作系统组合中,由于滚动条的存在,无法在同一行显示 3 个来源标签

此前,在 TinyMCE AI Chat 面板中,响应区域显示的来源标签在某些浏览器和操作系统组合中可能每行只显示两个,而不是三个。来源标签的 max-width 没有考虑到某些平台上较厚的滚动条所占用的额外空间,导致第三个标签换行到下一行。

在 TinyMCE 8.5.0 中,来源标签的最大宽度已减小,以适应不同平台上的滚动条宽度差异。无论滚动条大小如何,来源标签现在始终每行显示三个。

当仅剩一个待处理更改时,“上一个”和“下一个”按钮现已禁用

此前,当仅剩一个待处理建议时,TinyMCE AI 审阅面板中的“上一个”和“下一个”导航按钮仍然保持激活状态。这造成了一个具有误导性的界面,因为这些按钮暗示存在额外的建议可供导航,但实际上并不存在。

在 TinyMCE 8.5.0 中,当仅剩一个待处理建议时,“上一个”和“下一个”按钮现已禁用。这提供了更清晰的可用导航选项指示,并防止用户尝试不可用的操作。

包含长名称且无换行的历史记录条目发生溢出

此前,TinyMCE AI 插件中的聊天历史记录条目无法处理包含无空格长名称的标题文本溢出问题。标题文本超出了可见区域,隐藏了选项菜单(三点按钮),并使条目难以管理。

在 TinyMCE 8.5.0 中,当文本超过可用宽度时,聊天历史记录条目标题现在会正确截断并显示省略号。无论标题长度如何,选项菜单都保持可见且可访问。

预览 iframe 缺少 figure 对齐等内容样式

此前,TinyMCE AI 预览 iframe 未包含 mce-content-body 类,导致 figure 对齐等内容样式渲染错误。

在 TinyMCE 8.5.0 中,mce-content-body 类已应用于预览 iframe,确保内容渲染与编辑器保持一致。

历史记录对话标题未被修剪

此前,在 TinyMCE AI Chat History 面板中重命名对话时,会完全按照输入保留前后空格。如果提交的标题在文本前后带有额外空格,则这些空格会作为名称的一部分保存。这可能导致对话标题在历史记录列表中显示为空白或不对称。

在TinyMCE 8.5.0中,对话标题在保存时会自动修剪,移除名称存储前后的空白字符。标题在聊天历史记录面板中显示一致,不会出现意外空格。

重命名对话时可能提交仅含空白字符的标题

此前,在TinyMCE AI聊天历史记录面板中重命名对话时,若清空标题字段会正确禁用保存按钮。但当输入为空或仅含空白字符时按回车键,会绕过禁用的按钮提交空标题。这导致对话以空白名称保存,使其在历史记录中难以识别。

在TinyMCE 8.5.0中,保存处理程序会直接验证标题值,应用与禁用保存按钮相同的检查。当标题为空或仅含空白字符时按回车键不再提交重命名操作,确保所有对话在聊天历史记录中都保留有意义的标题。

在差异和预览模式间切换时保留已选差异

此前,在TinyMCE AI审查面板中切换预览和差异模式时,不会保留当前建议选择。视图会重置到第一条建议,导致文档跳转到顶部而非保持在当前上下文位置。这破坏了审查体验,尤其影响处理文档下方建议的用户。

在TinyMCE 8.5.0中,切换预览和差异模式时会保留当前活动的建议。用户会返回到模式更改前查看的建议,且在预览模式下手动滚动后切换回差异模式时,视图不再强制跳转。

优化过大提示的错误消息

此前,当发送到TinyMCE AI服务的提示超过大小限制时,错误消息未包含足够细节供集成商诊断问题。服务返回的结构化错误数据(如当前提示长度和最大允许长度)未被解码或显示。

在TinyMCE 8.5.0中,当提示超过大小限制时,TinyMCE AI会解码并显示详细错误信息。在可用的情况下,这包括当前提示长度和最大允许长度,使集成商更容易识别和解决提示大小问题。

如果服务响应包含无法识别的错误细节和可识别的细节,额外的细节信息可能不会显示。错误通知本身不受影响。

箭头键导航未在首尾菜单项间循环

此前,使用箭头键导航TinyMCE AI菜单时,焦点未在首尾菜单项间循环。在最后一项按向下键或在第一项目按向上键没有效果。这与TinyMCE其他菜单的循环行为不一致,可能降低键盘导航效率。

在TinyMCE 8.5.0中,TinyMCE AI菜单的箭头键导航现在会在首尾项目间循环,与编辑器中的标准键盘导航行为一致。

AI聊天响应中代码片段的背景未完全覆盖片段

此前,AI聊天响应中代码片段的背景样式未完全覆盖整个片段区域。代码的部分区域没有适当的背景覆盖,降低了可读性并在AI聊天界面中造成视觉不一致。

在TinyMCE 8.5.0中,AI聊天响应中代码片段的背景样式已修正,以完全覆盖整个片段区域。代码片段现在显示完整一致的背景覆盖,提高了可读性和视觉一致性。

AI响应期间未禁用标签移除

此前,在TinyMCE AI聊天面板中,AI生成响应期间上下文标签的关闭按钮保持活跃。这允许在响应生成期间移除标签,可能干扰响应上下文并产生意外结果。

在TinyMCE 8.5.0中,AI生成响应期间上下文标签的关闭按钮现在被禁用。标签只能在响应完成后移除,防止生成期间对请求上下文的意外修改。

AI聊天暗色模式中用户提示的背景色不正确

此前,使用暗色皮肤时,TinyMCE AI聊天面板中用户提示的背景色不正确。文本和背景之间的低对比度使提示更难阅读,降低了暗色模式下AI聊天界面的可访问性和可用性。

在TinyMCE 8.5.0中,AI聊天面板中用户提示的背景色已针对暗色皮肤修正。更新后的颜色提供了适当的对比度,提高了暗色模式用户的可读性和可访问性。

Tab键可用于在预览页脚的分段按钮选项间移动焦点

此前,Tab键可用于在TinyMCE AI预览模式页脚的分段按钮内的单个选项间移动焦点。这与标准键盘导航行为不一致,在分段控件中应使用箭头键在选项间导航,而Tab键应将焦点移动到组外的下一个交互元素。

在TinyMCE 8.5.0中,TinyMCE AI预览页脚的焦点顺序已修正。Tab键现在将焦点移动到分段按钮外的下一个交互元素,箭头键在组内选项间导航。这提供了更可预测和可访问的键盘导航体验。

减少决策卡详情中标签与正文的间距

此前,TinyMCE AI 决策卡片详情中的标签与正文元素之间的间距比预期更大。合并后的间隙和填充导致这些元素之间有 24 像素的空间,从而在卡片内造成了视觉上不一致的布局。

在 TinyMCE 8.5.0 中,决策卡片的内部间距已缩小,元素之间保持一致的 12 像素间距。这在 TinyMCE AI 界面中提供了更紧凑、视觉上更协调的卡片布局。

当聊天为空时,“新建聊天”按钮未被禁用

此前,即使当前对话为空,TinyMCE AI 侧边栏中的“新建聊天”按钮也保持启用状态。在此状态下点击该按钮不会有任何反应,这会造成令人困惑的体验以及一个无障碍访问问题,因为屏幕阅读器用户和键盘用户可能会与一个不执行任何操作的控制项进行交互。

在 TinyMCE 8.5.0 中,当尚未开始任何对话时,“新建聊天”按钮现在会被禁用,从而确保按钮状态准确反映其可用性。

当鼠标悬停时,聊天历史记录列表中出现操作按钮会导致布局偏移,从而造成文本跳动

此前,TinyMCE AI 聊天历史记录面板中的行为容器没有为悬停时出现的图标按钮预留空间。当鼠标悬停在聊天历史记录项上时,该按钮会显示出来并导致整个布局发生偏移,使内容意外地改变位置。这导致了突兀的视觉不一致以及整个组件中间距的不一致。

在 TinyMCE 8.5.0 中,行为容器现在会预留最小水平空间,以容纳图标按钮及其周围的填充。操作按钮的出现和消失不再导致布局偏移,从而在使用聊天历史记录时提供更流畅、更可预测的交互。

使用 Delete 或 Backspace 键删除 context source 时,焦点不再丢失

此前,在 TinyMCE AI 侧边栏聊天视图中,使用 Delete 或 Backspace 键删除 context source 标签时,键盘焦点会丢失。删除一个 context source 后,焦点完全消失,使得难以继续进行键盘导航。这尤其影响了无障碍访问和仅使用键盘的工作流。

在 TinyMCE 8.5.0 中,焦点管理现在会跟踪标签删除事件。当删除一个 context source 标签时,焦点会移动到上一个 context source 标签;或者,如果删除的是第一个或仅存的标签,焦点则会返回到提示输入框。这确保了在管理 context source 时的无缝键盘导航。

切换浮动侧边栏时未触发 ToggleSidebar 事件

此前,在 TinyMCE AI 插件中打开或关闭浮动侧边栏时,ToggleSidebar 事件不会触发。此外,当浮动侧边栏打开时,使用 editor.queryCommandValue('ToggleSidebar') 查询当前的侧边栏值不会返回正确的标识符。这使得难以通过编程方式确定浮动侧边栏的状态或响应状态更改。

在 TinyMCE 8.5.0 中,浮动侧边栏现在完全支持现有的侧边栏 API。当浮动侧边栏被打开、关闭或切换时,ToggleSidebar 事件会触发,并且 queryCommandValue 会返回正确的侧边栏标识符。这使浮动侧边栏在 API 上与常规侧边栏完全对齐。

当建议仍在加载时关闭并重新打开 Review 侧边栏,AI Review 建议卡片现在保持可用状态

此前,如果在开始 Review 后立即关闭 TinyMCE AI Review 侧边栏,然后在 AI 完成生成建议后重新打开它,侧边栏的状态会被重置。与 Review 关联的建议卡片不会被显示,取而代之的是,可用的 Review 列表会与预览一起出现。这导致生成的建议无法被执行。

在 TinyMCE 8.5.0 中,当侧边栏在建议生成期间或之后被关闭并重新打开时,侧边栏的状态现在会被正确保留。Review 建议卡片保持可见且可操作,即使侧边栏在 AI 仍在流式传输结果时被关闭。

菜单不再在鼠标移出时关闭

此前,当鼠标指针移出菜单区域时,TinyMCE AI 插件中的子菜单会关闭。这与 TinyMCE 其他菜单的行为不一致,在其他菜单中,子菜单会保持打开状态,直到选择了父菜单中的另一个项目或整个菜单被关闭。这种不一致使得子菜单导航不可靠,并可能在使用过程中引起混淆。

在 TinyMCE 8.5.0 中,TinyMCE AI 插件中的子菜单不再在鼠标移出时关闭。子菜单现在会保持打开状态,直到选择了另一个父菜单项或菜单被关闭,这与所有其他 TinyMCE 菜单的行为一致。

Review 期间的第一个加载卡片不再显示为已聚焦状态

此前,当运行 AI review 时,在生成建议期间显示在 Review 侧边栏中的第一个 skeleton 卡片会应用焦点样式。由于卡片内容仍在加载中且无法进行交互,可见的焦点指示器会产生误导并造成令人困惑的用户体验。

在 TinyMCE 8.5.0 中,焦点样式不再应用于 Review 侧边栏中的加载卡片。只有在其内容完全加载且可以与之交互后,卡片才会获得焦点样式。

用于执行 AI UI 操作的新命令

此前,TinyMCE AI 中的 Quick Actions 只能通过插件的内置菜单和工具栏按钮来触发。希望从自定义 UI 元素或自动化工作流中调用这些操作的集成者,没有通过编程方式执行此操作的途径。

在 TinyMCE 8.5.0 中,TinyMCE AI 插件注册了一组编辑器命令,这些命令对应各个 Quick Action。其中包括用于内置操作的命令,如 TinyMCEAIQuickActionImproveWriting、TinyMCEAIQuickActionCheckGrammar 和 TinyMCEAIQuickActionTranslate(该命令接受一个 language 参数),以及用于运行带有指定 model 的自定义提示的 TinyMCEAIQuickActionCustom。此外,还提供了一个 TinyMCEAIChatPrompt 命令,用于将提示直接发送到 Chat 侧边栏。如需获取完整的命令列表,请参阅 TinyMCE AI 插件命令。

新增可选 id 属性到 tinymceai_quickactions_custom 以将操作注册为自定义菜单项

此前,通过 tinymceai_quickactions_custom 选项定义的自定义快速操作只能显示在快速操作菜单中的专用自定义子菜单内。这限制了希望自定义操作作为顶级菜单项与预定义操作一同显示或在其他菜单配置中显示的集成人员。

在 TinyMCE 8.5.0 中,可以在每个自定义快速操作对象中包含一个可选的 id 属性。当设置了 id 时,该自定义操作可以作为独立的顶级菜单项列在 tinymceai_quickactions_menu 数组中,或者包含在任何接受控制标识符的菜单栏菜单或菜单按钮配置中。

聊天中的加载器为正常尺寸而非小尺寸

此前,在生成响应时 AI Chat 区域显示的加载旋转图标使用的是默认尺寸,而非小尺寸。这导致旋转图标在视觉上比相邻的 AI 响应图标更大,在聊天界面中造成了视觉不一致。

在 TinyMCE 8.5.0 中,AI Chat 加载旋转图标的尺寸现已调整为与 AI 响应图标尺寸相匹配,提供了一致且精致的视觉体验。

当插件正在生成审阅或快速操作时,加载指示器中的停止按钮获得焦点

此前,TinyMCE AI 插件在不同上下文中显示“停止生成”控制的方式不一致。审阅加载指示器使用的是基于文本的按钮,而 AI Chat 侧边栏使用的是基于图标的按钮。此外,该控制在出现时不会获得焦点,这不利于键盘可访问性。

在 TinyMCE 8.5.0 中,加载指示器中的停止按钮现已与 AI Chat 侧边栏中使用的图标按钮相匹配,提供了更一致的视觉体验。该按钮在显示时也会获得焦点,提高了内容生成过程中的键盘导航和可访问性。

如需了解有关 TinyMCE AI 插件的信息,请参阅:TinyMCE AI。

配套的 Enhanced Skins & Icon Packs 更改

TinyMCE 8.5.0 版本包含了 Enhanced Skins & Icon Packs 的配套版本。

Enhanced Skins & Icon Packs

Enhanced Skins & Icon Packs 版本包含以下更新和修复。

Enhanced Skins & Icon Packs 经过重新构建,纳入了也包含在默认 TinyMCE 8.5.0 皮肤 Oxide 中的更改。

浮动工具栏在 fabric、snow 和 naked 皮肤中具有透明背景

此前,浮动工具栏在 fabric、snow 和 naked 皮肤中的背景是透明的,导致工具栏下方的编辑器内容能够透过工具栏显示出来。这降低了可读性,并使工具栏难以使用。

在 TinyMCE 8.5.0 中,工具栏背景样式使用了受影响皮肤的适当背景颜色。浮动工具栏现在在这三种皮肤中都具有实心背景,确保了与编辑器内容的正确视觉分离。

高级内容 CSS 文件包含了来自默认主题的多余样式

此前,fabric、fluent、material-classic 和 material-outline 皮肤的高级皮肤内容 CSS 文件导入了默认主题内容 UI 的样式。这导致编辑器中加载了重复的样式,并 unnecessary 增加了高级内容 CSS 文件的大小。

在 TinyMCE 8.5.0 中,已从高级内容 CSS 文件中移除了过时的导入。高级内容 CSS 文件现在仅包含特定于每个皮肤的样式,减小了文件大小并消除了重复的样式加载。

如需了解有关使用 Enhanced Skins & Icon Packs 的信息,请参阅:Enhanced Skins & Icon Packs。

改进

TinyMCE 8.5.0 还包含以下改进:

改进了 Suggested Edits 和 TinyMCE AI 插件中内联差异高亮的视觉样式

此前,当在 Suggested Edits 和 TinyMCE AI 插件中选择差异高亮时,视觉样式会产生重叠效果,使显示显得杂乱。多个样式层,包括边框、框阴影和背景颜色,组合在一起遮盖了高亮内容。这使得阅读和审查建议的更改变得困难,特别是对于跨越多行的内联文本元素。

在 TinyMCE 8.5.0 中,已简化并优化了所选 diff 高亮显示的视觉效果。基于边框的高亮显示已替换为背景渐变图像,调整了 box shadow 的位置,并且背景尺寸现在会考虑行高。这些更改减少了视觉干扰,提供了更清晰、更易读的 diff 高亮显示,使审查工作流程更容易跟进。

新增功能

TinyMCE 8.5.0 还包括以下新增功能:

新增 content_language 选项,用于在 iframe 的 html 元素或内联编辑器的目标元素上设置 lang 属性

以前,TinyMCE 没有选项可以设置编辑器的默认内容语言。在经典(iframe)模式下,编辑器 iframe 内的 html 元素没有 lang 属性,这不符合诸如WCAG 成功标准 3.1.1 之类的可访问性标准。屏幕阅读器和其他辅助技术无法确定编辑器内容的语言。

在 TinyMCE 8.5.0 中,新的 content_language 选项会在经典模式下编辑器 iframe 的 html 元素上,或在内联模式下的目标元素上设置 lang 属性。这与控制 UI 语言的 language 选项是分开的。拼写检查插件现在也会在设置了 content_language 时默认使用它,然后再回退到 spellchecker_language。

更改

TinyMCE 8.5.0 还包括以下更改:

更新了审查列表手风琴项目的背景颜色

TinyMCE AI 审查列表中手风琴项目的背景颜色已从 #F7F7F7 更新为 #F0F0F0,以提高视觉对比度并符合当前的设计规范。

错误修复

TinyMCE 8.5.0 还包括以下错误修复:

包含非 Latin1 字符的 URI 返回错误

以前,插入包含非 Latin1 字符的数据 URI(例如带有字节顺序标记(BOM)的 SVG 数据 URI)的图像会导致 TinyMCE 抛出 InvalidCharacterError。发生这种情况是因为 TinyMCE 使用 btoa 函数将数据 URI 编码为 base64,而 btoa 不支持 Latin1 范围以外的字符。该错误可能导致编辑器挂起或无法处理图像。

在 TinyMCE 8.5.0 中,数据 URI 现在在传递给 btoa 之前使用 TextEncoder 进行编码,确保正确处理非 Latin1 字符。包含此类字符的数据 URI 图像现在可以无错误地处理。

某些屏幕阅读器未正确播报警告和确认对话框

以前,某些屏幕阅读器(如 NVDA)无法正确播报 TinyMCE 中的警告和确认对话框。这些对话框的 aria-label 属性为空,并且缺少指向对话框正文内容的适当 aria-labelledby 或 aria-describedby 引用。因此,屏幕阅读器用户无法听到这些对话框中显示的消息或问题,这使得难以响应确认提示或理解警告消息。

在 TinyMCE 8.5.0 中,警告和确认对话框现在包含指向对话框内容的正确 ARIA 属性。当对话框打开时,屏幕阅读器会播报对话框消息,为所有用户提供无障碍体验。

某些选择会删除编辑器主体,导致问题

以前,通过从编辑器内部拖动并释放到编辑器外部来选择包含表格的内容,然后按 Delete 键,可能会从 DOM 中移除编辑器主体元素。这会导致控制台错误,并使编辑器处于不可用状态,任何后续交互(如聚焦或选择内容)都会产生额外的错误。

在 TinyMCE 8.5.0 中,编辑器现在阻止删除操作移除编辑器主体元素。跨越表格并延伸到编辑器边界之外的选择会被安全处理,保留编辑器结构并允许继续使用而不出错。

列表内某些 div 组合会导致关闭列表时出现问题

以前,列表项内某些 div 元素的组合可能会阻止列表被关闭。列表检测逻辑会过早地将列表项内的 div 识别为列表宿主,而不是将其识别为现有列表内的内容。这使得无法在受影响的内容结构中移除列表格式。

在 TinyMCE 8.5.0 中,列表检测逻辑现在能正确识别 div 何时位于列表内,并在将元素视为宿主之前定位父列表。包含嵌套 div 元素的列表现在可以按预期关闭。

当脚本和样式元素在 schema 中被视为有效时,DOMPurify 会错误地移除它们

此前,当启用 xss_sanitization 时,通过 valid_elements 或 extended_valid_elements 明确允许的 script 和 style 元素会在 sanitization 过程中被移除。DOMPurify 将这些元素标记为潜在的 mXSS 攻击向量,并完全删除它们,即使 schema 配置表明这些元素是有效的。

在 TinyMCE 8.5.0 中,在 schema 中被视为有效的 script 和 style 元素会在 sanitization 期间保留。sanitization 过程仍会移除不安全的属性和内容,但当 schema 明确允许该元素时,不再移除整个元素。

包含子元素的 Iframe 元素会被 DOMPurify 错误地移除

此前,包含子节点的 iframe 元素在 sanitization 过程中会被完全移除。DOMPurify 将 iframe 内子节点的存在视为潜在的 mXSS 风险,并将整个元素从内容中剥离。

在 TinyMCE 8.5.0 中,iframe 元素在 sanitization 期间被保留。任何子节点以及不安全或无效的属性会被移除,但 iframe 元素本身仍保留在编辑器内容中。

弃用

TinyMCE 8.5.0 包含以下弃用内容:

拼写检查器配置属性 spellchecker_language 已弃用

自 TinyMCE 8.5.0 起,spellchecker_language 选项已弃用,并将在将来的主要版本中移除。请改用 content_language,该选项可同时设置默认内容语言和拼写检查器的校对语言。

有关 content_language 选项的信息,请参阅:内容本地化。