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

概述

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

  • 配套 Premium 插件变更

  • 配套增强型皮肤和图标包变更

  • 新增内容

  • Bug 修复

配套 Premium 插件变更

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

图像编辑

TinyMCE 8.10.0 版本包含配套发布的 Image Editing Premium 插件。

Image Editing 包含以下修复。

当图像无法加载时,点击 Edit image 现在会显示错误通知,而不是静默失败

此前,当图像代理对某个图像返回错误(如 404 或 424 响应)时,点击 Edit image 不会打开 Edit Image 对话框,也不会显示任何消息。Image Editing 插件会在浏览器控制台中记录未捕获的错误。用户不会收到图像无法加载以进行编辑的任何提示。

在 TinyMCE 8.10.0 中,Image Editing 插件会在图像无法加载时显示错误通知。当从 Edit Image 对话框应用编辑失败时,插件也会显示错误通知。当图像代理无法从源获取图像时,会返回 424 响应。在此情况下,通知会报告图像加载失败。

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

Suggested Edits

TinyMCE 8.10.0 版本包含配套发布的 Suggested Edits Premium 插件。审阅界面现在使用与 TinyMCE AI 审阅相同的布局和组件。该插件的设置和配置保持不变。建议卡片和审阅面板的类名已更改,因此必须更新针对旧类名编写的自定义 CSS。

Suggested Edits 包含以下变更、改进和修复。

审阅操作移至侧边栏头部并重命名

此前,Suggested Edits 审阅的 Complete review 和 Cancel 按钮显示在审阅内容上方的标题栏中,与列出建议的侧边栏分开。

在 TinyMCE 8.10.0 中,Suggested Edits 插件会在侧边栏头部、Review edits 标题旁显示这些操作。Save & Exit 按钮取代了 Complete review。Exit review 按钮取代了 Cancel,且仅显示图标,Exit review 作为其工具提示和可访问标签。两个操作的功能与之前相同。侧边栏也更宽了,从 316 像素增至 440 像素。有关更多信息,请参阅 Header。

Diff 模式和 Preview 选项取代了 Show edits 切换开关

此前,Suggested Edits 插件将 Show edits 切换开关置于 Review edits 视图的头部,与该切换开关所切换的审阅内容分开。当 Show edits 关闭时,插件还会使建议卡片变暗,这使卡片看起来像已禁用,尽管其按钮仍可正常工作。

在 TinyMCE 8.10.0 中,Suggested Edits 插件用审阅内容下方页脚中的 Diff mode 和 Preview 选项取代了 Show edits 切换开关。Diff mode 显示建议的编辑,是默认视图。Preview 显示应用建议编辑后的文档效果。在任何视图中,建议卡片都不会再变暗。页脚与 TinyMCE AI 中的审阅栏相匹配,因此两个插件中的视图切换会出现在同一位置。有关更多信息,请参阅 Footer。

审阅现在保持编辑器菜单栏和工具栏可见,使编辑器内容变为只读,并且在打开侧边栏时关闭

此前,Review edits 视图会替换整个编辑器(包括菜单栏和工具栏),因此审阅显示为单独的屏幕。

在 TinyMCE 8.10.0 中,Suggested Edits 插件会在审阅期间保持编辑器菜单栏和工具栏可见,并使编辑器内容变为只读。在审阅期间,大多数工具栏按钮和菜单项都会被禁用,但任何编辑器模式下均可使用的项目(如 Fullscreen、Preview 和 Print)仍可使用。打开侧边栏会关闭审阅。有关更多信息,请参阅 Reviewing edits。

审阅现在保持状态栏可见,并允许在审阅建议时调整编辑器大小

此前,Review edits 视图会覆盖编辑器状态栏,因此在审阅期间无法调整编辑器大小。

在 TinyMCE 8.10.0 中,在审阅期间状态栏保持可见,并且可以在审阅建议时调整编辑器大小。

批量接受或拒绝建议不再覆盖已单独接受或拒绝的建议

以前,“全部接受”和“全部拒绝”批量操作会更改每条建议的状态,包括已经单独接受或拒绝的建议。混合使用单独和批量决定的审阅者会丢失他们之前的决定,不得不重新做出决定。

在TinyMCE 8.10.0中,批量接受和拒绝仅适用于未解决的建议。当一些建议已解决而其他建议仍未解决时,批量操作被标记为“接受剩余”和“拒绝剩余”。在至少有一个建议被解决之前,“全部撤销”不可用,并且当没有未解决的建议时,接受和拒绝操作也不可用。有关更多信息,请参阅批量操作。

建议编辑卡片现在使用仅显示图标的接受和拒绝操作,这些操作在悬停时出现,并带有工具提示

以前,每条建议卡片都会堆叠作者、表示更改类型的彩色标签和日期,选中的卡片会在其详细信息下方添加一行“拒绝”和“接受”文本按钮。

在TinyMCE 8.10.0中,卡片标题以一行显示作者的头像、姓名和日期。“接受”和“拒绝”是卡片标题中的图标按钮,带有工具提示。当指向卡片时按钮出现,并在卡片选中时保持可见,因此侧边栏可以容纳更多卡片。

建议编辑卡片现在显示每个操作的更改文本预览

以前,建议卡片只描述更改的内容类型,如“删除的文本”,因此审阅者无法仅从卡片判断文档的哪一部分发生了更改。

在TinyMCE 8.10.0中,每张卡片都会引用更改的文本,例如:用“them”替换了“the”。长文本会用省略号缩短。非文本更改会指明更改的内容类型,如图像或表格。审阅者可以仅从卡片查看更改了什么以及在哪里更改了。

侧边栏中的建议卡片现在按更改在文档中出现的顺序列出

以前,建议卡片按建议创建的顺序列出。例如,在编辑文档下方内容后删除顶部附近的图像,会使该图像的卡片位于侧边栏底部。从上到下工作的审阅者不得不在文档中来回移动。

在TinyMCE 8.10.0中,建议卡片按其更改在文档中出现的顺序从上到下列出,无论每个更改是由谁在何时做出的。用户可以按照阅读顺序处理建议,并将每张卡片与其更改匹配。

差异模式和预览现在使建议的更改更容易被发现

以前,当“显示编辑”打开时,“建议编辑”插件以与建议编辑相同的强调方式显示未更改的内容,因此很难发现建议。当“显示编辑”关闭时,插件不显示建议的位置。插件还会标记文档中的每个换行符,而不仅仅是更改的换行符。审阅者必须阅读整个文档才能找到每条建议,并且可能会在长文档中遗漏一条。

在TinyMCE 8.10.0中,“差异模式”在建议待处理时会使未更改的内容变暗,从而使待处理的建议突出显示。“预览”会就地为添加和修改的内容添加下划线,并且换行标记仅出现在添加或删除换行的地方。

差异模式中删除的媒体现在显示红色X覆盖

以前,删除的图像仅通过高亮标记,这很容易错过。

在TinyMCE 8.10.0中,“差异模式”还会用一个大的红色X标记删除的图像、视频和嵌入框架。

预览现在仅显示替换建议中插入的文本

在TinyMCE 8.10.0中,在“预览”中选择替换文本的建议时,仅显示并高亮新文本,删除的文本保持隐藏。“预览”与接受建议后生成的内容匹配。“差异模式”继续显示删除和添加的文本。

现在打开“审阅编辑”视图会保持编辑器滚动位置,关闭它会恢复编辑器中的审阅滚动位置

以前,打开“审阅编辑”视图会跳转到第一个更改,关闭它会将编辑器滚动回光标位置。每次审阅打开或关闭时,读者都会丢失文档中的当前位置。

在TinyMCE 8.10.0中,“审阅编辑”视图在文档中与编辑器显示的位置相同的位置打开,关闭审阅会使编辑器返回到审阅中最后显示的位置。选择卡片仍会滚动到其更改。

现在上箭头键和下箭头键会在侧边栏的建议卡片之间移动并选择聚焦的建议

以前,上箭头键和下箭头键不会在侧边栏的建议卡片之间移动,因此键盘用户必须按Tab键逐个穿过每张卡片的控件才能到达下一个建议。从键盘审阅包含许多建议的文档很慢。

在TinyMCE 8.10.0中,上箭头键和下箭头键会在侧边栏的建议卡片之间移动并选择聚焦的建议,这会在文档中高亮显示它。在卡片上按Enter键会将焦点移动到该卡片的内容中。有关更多信息,请参阅键盘导航。

建议卡片现在在其可访问名称中包含接受或拒绝的结果,并且撤销按钮命名为“撤销”

在 TinyMCE 8.10.0 中,屏幕阅读器会将建议是已接受还是已拒绝作为卡片名称的一部分进行播报,并且撤销决定的按钮会被播报为撤销。

Suggested Edits 卡片现在将没有友好名称的元素描述为“内容”,而不是显示其 HTML 标签名称

以前,当更改的元素没有友好名称时,其卡片会显示该元素的 HTML 标签名称。例如,粘贴包含 div 元素的内容会产生一个卡片,内容为“添加了 div”。用户会看到无法解释更改的技术术语。

在 TinyMCE 8.10.0 中,卡片将没有友好名称的元素描述为“内容”,因此“添加了 div”现在读作“添加了内容”。卡片仍然会显示更改的文本,并且已经有友好名称的元素(如段落、图像、表格和列表)会像以前一样进行描述。

没有空格的长反馈文本会溢出建议编辑卡片,并导致卡片的按钮和文本框错位

以前,对包含长字符串(无空格)的建议(如长链接)的反馈会超出建议卡片的边缘。溢出的文本会使卡片的按钮和反馈文本框错位,并导致侧边栏横向滚动。

在 TinyMCE 8.10.0 中,长反馈文本会在建议卡片内换行,卡片的按钮和文本框保持对齐。

同一建议的嵌套部分会显示重复的高亮

以前,当一个建议同时更改一个元素及其内部的内容(例如列表的字体大小)时,Review edits 视图会高亮显示该元素,然后再次高亮显示其内部内容的每一部分。当选择该建议时,Review edits 视图还会堆叠选择样式。堆叠的样式使更改杂乱且难以阅读。

在 TinyMCE 8.10.0 中,Suggested Edits 插件会在 Diff 模式和预览中,针对每个建议,在建议更改的最外层元素上只应用一次高亮和选择样式。

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

TinyMCE AI

TinyMCE 8.10.0 版本包含 TinyMCE AI 高级插件的配套版本。

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

新增多编辑器支持

以前,TinyMCE AI 插件一次只能与一个编辑器一起使用。当相关内容分布在页面上的多个编辑器中时,用户必须在每个编辑器中分别运行 Chat、Review 和 Quick Actions,并且 AI 没有来自其他编辑器的上下文。

在 TinyMCE 8.10.0 中,TinyMCE AI 插件可以将同一页面上的编辑器进行分组。共享 tinymceai_group 值的编辑器共享一个 Chat 侧边栏和一个 Review 侧边栏。Chat、Review 和 Quick Actions 可跨组内每个编辑器的内容工作,插件会在其所属的编辑器中预览并应用每个更改。Review 侧边栏会按编辑器名称对建议进行分组。

tinymceai_document_name 选项为每个编辑器的内容命名,tinymceai_document_description 选项向 AI 服务描述该内容。

有关多编辑器模式的信息,请参阅 多编辑器模式。

AI 预览 Diff 模式中删除的媒体现在会显示一个红色的 X 叠加层

以前,TinyMCE AI 预览中删除的图像仅用高亮标记,这很容易错过。

在 TinyMCE 8.10.0 中,TinyMCE AI 预览中的 Diff 模式还会用一个大红色的 X 标记删除的图像、视频和嵌入的框架。

同一建议的嵌套部分会显示重复的高亮

以前,当一个建议同时更改一个元素及其内部的内容(例如修改列表项及其修改后的文本)时,TinyMCE AI 插件会对该元素及其内部的内容再次应用高亮、选择和预览高亮样式。堆叠的样式会出现在 Chat、Quick Actions 和 Review 建议的 Diff 模式和预览中。这使建议变得杂乱且难以阅读。

在 TinyMCE 8.10.0 中,TinyMCE AI 插件会在 Diff 模式和预览中,针对每个建议,在建议更改的最外层元素上只应用一次高亮、选择和预览高亮样式。该元素内部的内容不再重复该样式。

当 Review 侧边栏打开时,应用或跳过所有快速操作建议无效

以前,当 Review 侧边栏打开但没有正在进行的 review 时,TinyMCE AI 插件会像处理属于 review 的快速操作预览一样处理快速操作预览。在预览页脚中选择全部应用或全部跳过不会解决建议,编辑器会保持预览模式。用户必须先关闭 Review 侧边栏,然后才能应用或跳过快速操作的结果。

在 TinyMCE 8.10.0 中,TinyMCE AI 插件会根据审阅是否正在进行(而非“审阅”侧边栏是否打开)来决定快捷操作预览的行为。当“审阅”侧边栏处于打开状态时,全部应用会应用建议,全部跳过会跳过建议,随后编辑器将退出预览模式。

在 Diff 模式下选择已应用或已跳过的建议时,只显示部分变更或完全不显示,而不是显示完整建议

在之前的版本中,当在Diff 模式下应用或跳过建议会导致该内容从结果中移除时,TinyMCE AI 插件会立即隐藏部分或全部变更。这会影响被跳过的新增、被应用的删除,以及被跳过的替换中的新增部分。该建议仍保持选中状态(例如在“审阅”侧边栏中以卡片形式显示),但相应变更不再出现在内容中。用户无法检查刚刚应用或跳过的内容,因此在完成审阅前更难重新考虑决定。

在 TinyMCE 8.10.0 中,当在Diff 模式下选中某个已应用或已跳过的建议时,TinyMCE AI 插件会显示完整变更,其中被删除的内容以删除线样式呈现,新增内容以添加样式呈现。当选中其他建议时,插件会隐藏该变更,并在再次选中该建议时重新显示。预览仍然只显示最终内容。

确认对话框中的按钮文本不会翻译

在之前的版本中,当用户从聊天历史记录中删除会话时,出现的确认对话框无论编辑器语言如何设置,都会以英文显示是和否按钮。TinyMCE AI 插件翻译了确认消息,但没有翻译按钮文本,因此非英语编辑器的用户会看到包含两种语言的对话框。

在 TinyMCE 8.10.0 中,TinyMCE AI 插件会将是和否按钮翻译为由 language 选项设置的语言。现在整个确认对话框将以配置的语言显示。

在 AI 预览中点击建议之外的区域现在会取消选中当前建议,并关闭其上下文工具栏或审阅卡片高亮

在之前的版本中,在 TinyMCE AI 预览中点击建议之外的空白区域不会有任何效果。最后选中的建议会保持高亮,其上下文工具栏会保留在屏幕上,并且在审阅过程中,“审阅”侧边栏中对应的卡片也会保持选中状态。清除选择的唯一方法是选择另一个建议。用户无法清晰查看建议内容,且上下文工具栏可能会遮挡附近的文本。

在 TinyMCE 8.10.0 中,在预览中点击建议之外的任何位置都会清除当前选择。TinyMCE AI 插件会关闭上下文工具栏,并在审阅过程中移除“审阅”侧边栏中对应卡片的高亮。

Diff 模式在内容旁边预留了空白的滚动条槽位

在之前的版本中,每当 Diff 模式标签页显示建议变更时,TinyMCE AI 插件都会为滚动条预留空间,即使内容过短而无需滚动也是如此。内容旁边出现的空白槽位看起来像是损坏的滚动条。

在 TinyMCE 8.10.0 中,TinyMCE AI 插件不再在 Diff 模式下为滚动条预留空间。只有在内容长度足以滚动时,才会出现滚动条。

当另一个任务仍在运行时,启动新的快捷操作、聊天提示或审阅会取消两者,而不是保留新任务

TinyMCE AI 插件每次仅运行一个 AI 任务,启动新任务会取消正在进行的任务。在之前的版本中,当用户在另一个任务仍在运行时启动快捷操作、发送聊天提示或开始审阅,插件会同时取消正在运行的任务和新任务。用户不得不重新启动新任务。

在 TinyMCE 8.10.0 中,当另一个任务正在运行时启动新任务,只会取消正在运行的任务。新的快捷操作、聊天提示或审阅将运行至完成。

tinymceai_chat_fetch_sources 选项在返回格式不符合预期的来源时,现在会报告明确的错误

在之前的版本中,TinyMCE AI 插件不会检查由 tinymceai_chat_fetch_sources 函数返回的值。当函数解析出的值格式不符合预期时,例如来源缺少 type 属性,或 defaults 值不是数组,浏览器控制台会显示一个通用的 JavaScript 错误,且不会指出具体原因。

在 TinyMCE 8.10.0 中,TinyMCE AI 插件会根据选项支持的格式检查返回的值。如果值不匹配,浏览器控制台会记录一个包含函数返回值的 DecodingError。

现在打开“建议编辑”会在丢弃 AI 建议前请求确认

在之前的版本中,当 TinyMCE AI 建议显示在编辑器中时(例如执行快捷操作后),打开 建议编辑会在没有警告的情况下丢弃这些建议。切换到聊天侧边栏或审阅侧边栏时已经会请求确认,但打开 建议编辑时不会。

在 TinyMCE 8.10.0 中,当建议内容已显示时打开 Suggested Edits(建议编辑)会显示相同的确认对话框:离开此 AI 流程将丢弃当前建议并重置已应用的更改。是否继续? 取消操作会将建议保留在编辑器中。确认操作会丢弃建议并打开 Suggested Edits。

在模型加载完成前按 Enter 键触发 AI Chat 提示会引发 "No model selected" 错误

此前,当用户打开聊天侧边栏、输入提示后,在 AI 模型列表加载完成前按下 Enter 键时,TinyMCE AI 插件会在未选择模型的情况下发送提示。此时会出现错误通知,浏览器控制台会记录 TinyMCE AI Error: No model selected。尽管发送按钮在未选择模型时已处于禁用状态,但 Enter 键会绕过该检查。

在 TinyMCE 8.10.0 中,在模型被选中之前,按 Enter 键不会触发任何操作。提示文本会保留在提示框中,不会显示错误,用户可在模型加载完成后再次发送提示。

AI Chat 中未包含 http 或 https 协议或点分主机名的链接源,现在被视作无效 URL

此前,通过 Add context source > Link(添加上下文源 > 链接)添加的无效链接会在 TinyMCE AI 插件中显示不同错误。空值或纯文本(如 test)会显示 此 URL 无效。请检查完整、正确的网址并重试。 协议或主机名不完整的 URL(如 https://test)会被发送至 AI 服务,但会失败并报错:Failed to add web resource "https://test": The web resource could not be scraped from the provided URL(无法添加网络资源 "https://test":无法从提供的 URL 抓取该网络资源)。

在 TinyMCE 8.10.0 中,TinyMCE AI 插件仅接受 URL 使用 http 或 https 协议,且主机名包含点号(如 example.com)的链接。其他任何值都会显示 此 URL 无效。请检查完整、正确的网址并重试。,且不会发送至 AI 服务。tinymceai_chat_fetch_source 选项返回的网络资源也会执行相同检查,因此如 http://localhost 的 URL 会被拒绝。

聊天历史记录中的聊天操作按钮现已为屏幕阅读器添加可访问名称

此前,在 TinyMCE AI 聊天历史记录中,每个对话的操作按钮(用于打开 Pin(置顶)、Rename(重命名)和 Delete(删除)选项)没有可访问名称。屏幕阅读器仅将其播报为 "按钮"。

在 TinyMCE 8.10.0 中,屏幕阅读器会将该按钮播报为 "Chat actions"(聊天操作),并按标题和日期播报历史记录中的每个对话。

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

拼写检查器

TinyMCE 8.10.0 版本包含 Spell Checker(拼写检查器)高级插件的配套版本。

Spell Checker 包含以下修复。

使用键盘将插入点向后移动会丢失其列位置并跳转到行首

此前,当 Spell Checker 插件处于激活状态时,按向上箭头键在多行间向上移动插入点时,插入点可能会被置于行首,而非保留其列位置。使用 Shift+向上箭头键向上扩展选区时也会出现同样的问题。

在 TinyMCE 8.10.0 中,Spell Checker 插件仅在拼写检查更改编辑器内容时才会恢复选区。插入点在行间向上移动时会保留其列位置,包括使用 Shift+向上箭头键扩展选区的情况。

禁用拼写检查会从恰好起始于拼写错误单词之前的选区中移除该拼写错误单词

此前,当启用键入时拼写检查功能,且选区起始或结束位置恰好位于拼写错误单词之前时,禁用拼写检查会从选区中移除该拼写错误单词。之后对选区应用的格式(如加粗)会跳过该拼写错误单词。

在 TinyMCE 8.10.0 中,禁用拼写检查时,Spell Checker 插件会保持选区不变。

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

PowerPaste

TinyMCE 8.10.0 版本包含 PowerPaste 高级插件的配套版本。

PowerPaste 包含以下修复。

从 HTML 内容(如另一个编辑器)多次粘贴同一图片时,会为每个副本创建单独的 blob URL,而非复用现有 URL

此前,当用户从 HTML 内容(如另一个编辑器或 Microsoft Word 文档)多次粘贴同一图片时,PowerPaste 插件会为每个副本创建新的 blob URL。编辑器会将每个副本视为单独的图片并逐一上传。若不使用 PowerPaste 插件,同一粘贴图片的副本本已共享一个 blob URL。

在 TinyMCE 8.10.0 中,PowerPaste 插件会检查编辑器中是否包含数据完全相同的图片。当编辑器中已存在匹配图片时,插件会复用该图片的 blob URL。现在,同一图片的副本无论来自何种粘贴源,都共享一个 blob URL。编辑器仅上传图片一次。

从 Google Docs 粘贴并选择 Keep formatting(保留格式)时,若仅顶级列表项为粗体,嵌套列表项会被错误设为粗体

此前,当用户从 Google Docs 粘贴嵌套列表并选择保留格式时,PowerPaste 插件会将每个嵌套列表项都设为粗体,即使源文档中只有顶级列表项是粗体。粘贴后的列表与原文档不一致。使用移除格式进行粘贴可以避免这个问题,但也会移除粘贴内容的内联样式和类。

在 TinyMCE 8.10.0 中,PowerPaste 插件会保留 Google Docs 内容中每个列表项的字体粗细。当只有顶级列表项为粗体时,插件粘贴的嵌套列表项将采用正常字体粗细,粘贴后的列表与原文档一致。

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

修订历史

TinyMCE 8.10.0 版本包含了修订历史高级插件的配套版本。

修订历史包含以下新增功能。

新增 tags 元数据字段用于在修订卡片中显示标签

修订 metadata 对象现在支持一个可选的 tags 字段。tags 字段接收一个 tag 对象数组,每个对象包含一个 label 字符串。修订历史插件会在修订卡片上以与修订类型标签(如 DRAFT)相同的样式显示每个标签。插件会按原样显示标签文本,不改变大小写。

集成人员可以使用标签为保存的修订标记自定义状态,例如 REVIEWED 或 Legal。

有关 修订历史插件的信息,请参阅:修订历史。

模板

TinyMCE 8.10.0 版本包含了模板高级插件的配套版本。

模板包含以下修复。

模板预览现在会加载捆绑的内容 CSS

此前,当编辑器内容 CSS 被捆绑时,模板插件不会将其加载到插入模板对话框的模板预览中。预览只会从 URL 加载内容 CSS,因此预览的样式与编辑器内容的样式不一致。TinyMCE 8.4.0 修复了同样的问题,涉及预览对话框、建议修改视图和修订历史视图。

在 TinyMCE 8.10.0 中,模板插件会将捆绑的内容 CSS 添加到模板预览中,因此预览会与编辑器内容匹配。从 URL 加载的内容 CSS 仍按原方式工作。有关捆绑内容 CSS 的信息,请参阅 捆绑内容 CSS。

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

配套的增强皮肤和图标包变更

TinyMCE 8.10.0 版本包含了增强皮肤和图标包的配套版本。

增强皮肤和图标包

增强皮肤和图标包版本包含以下更新:

增强皮肤和图标包经过重新构建,以纳入默认 TinyMCE 8.10.0 皮肤 Oxide 中包含的变更。

有关使用增强皮肤和图标包的信息,请参阅:增强皮肤和图标包。

新增功能

TinyMCE 8.10.0 还包含以下新增功能:

在公共 API 中添加 BlobInfo 类型

此前,TinyMCE 会将 BlobInfo 对象传递给为 images_upload_handler 等选项设置的函数,但并未导出 BlobInfo 类型。TypeScript 集成需要为该对象声明自己的接口。

在 TinyMCE 8.10.0 中,BlobInfo 类型已成为 TinyMCE 公共 API 的一部分。TypeScript 集成可以用它为这些选项设置的函数定义类型。

自定义视图新增 keepToolbar 属性

此前,打开 自定义视图会隐藏编辑器的菜单栏、工具栏和状态栏,因此该视图会替换整个编辑器。

在 TinyMCE 8.10.0 中,视图规范对象接受一个新的 keepToolbar 属性。当 keepToolbar 设置为 true 时,在视图打开期间菜单栏、工具栏和状态栏保持可见,并且打开视图会关闭任何已打开的侧边栏。默认值为 false,即保留原有行为。

错误修复

TinyMCE 8.10.0 还包含以下错误修复:

在非 Firefox 浏览器中编辑器 iframe 缺少 title 属性

以前,TinyMCE 仅在 Firefox 中为编辑器 iframe 设置 title 属性。在其他浏览器中,iframe 没有 title。TinyMCE 将 iframe_aria_text 值作为 aria-label 应用于 iframe 内的 <body> 元素。屏幕阅读器能够正确播报编辑器,但无障碍检查工具报告缺少 iframe title 违反了 Web 内容无障碍指南 (WCAG)。

在 TinyMCE 8.10.0 中,编辑器在所有浏览器中都将 iframe 的 title 属性设置为 iframe_aria_text 值。在 macOS 和 iOS 上,VoiceOver 屏幕阅读器不会播报 iframe title。因此,编辑器还会将该值作为 aria-label 应用于 <body> 元素,并设置 role="textbox" 和 aria-multiline="true"。在其他操作系统上,编辑器不再为 <body> 元素设置 aria-label。

在 Chrome 中点击列表项右侧时拖动选择无效

以前,在 Chrome 和其他基于 Chromium 的浏览器中,在列表项文本右侧按下鼠标按钮并拖动不会选择任何内容。TinyMCE 8.7.0 针对一个 Chromium 错误添加了变通方案,该错误导致在列表项文本右侧点击时将插入符置于列表项开头。该变通方案在按下鼠标按钮时运行,并阻止了默认浏览器行为,这也阻止了拖动选择。

在 TinyMCE 8.10.0 中,变通方案改为在点击完成后运行。在列表项右侧按下鼠标按钮并拖动会选择内容,而点击列表项右侧仍然会将插入符置于预期位置。

点击元素末尾的 &nbsp; 右侧可能会导致选择跳转(当内容包含空格式元素时)

以前,当内容包含空格式元素时(例如应用字体大小等格式时未选择文本而留下的元素),点击以不间断空格 (&nbsp;) 结尾的行右侧会将插入符移离点击位置。TinyMCE 会移除空格式元素并将插入符置于该元素所在位置,例如另一个段落的开头。

在 TinyMCE 8.10.0 中,TinyMCE 仅在其移除的空格式元素靠近选择时才移动插入符。点击以不间断空格结尾的行右侧会将插入符置于该行末尾。

打开或关闭视图不再将编辑器滚动到插入符位置

以前,打开或关闭视图(如 自定义视图 或 修订历史 视图)会将编辑器内容滚动到插入符处,即使用户已滚动到文档的其他部分。每次打开或关闭视图时,用户都会失去在文档中的位置,当插入符远在可见区域之外时,这一点最为明显。

在 TinyMCE 8.10.0 中,打开或关闭视图会保持编辑器滚动位置。关闭视图时编辑器仍会获得焦点,插入符和选择不会改变。

在 Chrome 中点击未聚焦编辑器中列表项文本的右侧会使内容滚动回顶部

以前,在 Chrome 和其他基于 Chromium 的浏览器中,当编辑器未聚焦时,向下滚动编辑器内容并点击列表项中文本的右侧会使内容滚动回顶部。插入符被置于列表项中,但该列表项不再可见。

在 TinyMCE 8.10.0 中,点击未聚焦编辑器中列表项文本的右侧会保持滚动位置并将插入符置于用户点击处。

对于具有自身行内 list-style-type 的列表项,应用列表样式不会更改标记,且工具栏显示错误的活动样式

以前,某些列表项具有自身的行内 list-style-type,例如从 Microsoft Word 粘贴带有 PowerPaste 的内容后。当选择位于此类项中时,从 numlist 或 bullist 工具栏按钮菜单中选择样式不会更改该项的标记,因为该项自身的样式覆盖了 TinyMCE 应用于列表的样式。该菜单还会显示列表的样式作为活动样式,而不是列表项的样式。

在 TinyMCE 8.10.0 中,当列表项具有自身的 list-style-type 时,列表样式菜单会显示所选列表项的样式。应用列表样式会移除所选列表项的行内 list-style-type,并将所选样式应用于整个列表。其他具有自身 list-style-type 的列表项会保留该样式,直到被选中并更改。

调整表格列或行大小时输入的文本会进入调整大小栏并丢失

以前,在表格列或行调整大小栏上按下鼠标按钮会将选择移至调整大小栏。调整大小期间输入的文本会进入调整大小栏,而 TinyMCE 在调整大小结束时会移除该栏,因此输入的文本会丢失。使用角部调整大小手柄调整表格大小不受影响。

在 TinyMCE 8.10.0 中,在列或行调整大小栏上按下鼠标按钮不会移动选择。调整大小期间输入的文本会插入到选择处,并且当调整大小结束时,插入符会保留在输入文本的末尾。