这是 Tiny Cloud 和 TinyMCE Enterprise 的发行说明。如需了解 TinyMCE 最新社区版本的信息,请参阅 TinyMCE Changelog。
概述
TinyMCE 8.10.0 于 2026 年 10 月 14 日(星期三)面向 TinyMCE Enterprise 和 Tiny Cloud 发布。本发行说明概述了 TinyMCE 8.10.0 的变更,包括:
配套的 Premium 插件变更
配套的增强型 Skin 与 Icon Packs 变更
新增功能
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 插件在 Review edits 视图的标题栏中放置 Show 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 中,审核期间状态栏保持可见,且审核建议时可调整编辑器大小。
批量接受或拒绝建议不再覆盖已单独接受或拒绝的建议
此前,Accept all 和 Reject all 批量操作会更改所有建议的状态,包括已单独接受或拒绝的建议。混合使用单独和批量操作的审核者会丢失之前的决策,不得不重新进行操作。
在 TinyMCE 8.10.0 中,批量接受和拒绝操作仅适用于未解决的建议。当部分建议已解决而另一些仍处于未解决状态时,批量操作按钮会显示为接受剩余和拒绝剩余。全部撤销按钮在至少有一个建议被解决之前不可用,而当没有未解决的建议时,接受和拒绝操作按钮也不可用。有关详细信息,请参阅 批量操作。
建议编辑卡片现在采用仅图标的接受和拒绝操作按钮,这些按钮在悬停时显示,并带有工具提示
以前,每个建议卡片会堆叠显示作者、表示更改类型的彩色标签以及日期,而被选中的卡片会在其详细信息下方添加一行包含拒绝和接受文字的按钮。
在 TinyMCE 8.10.0 中,卡片头部会在一行内显示作者的头像、姓名和日期。接受和拒绝按钮是位于卡片头部的图标按钮,带有工具提示。这些按钮会在鼠标指向卡片时显示,并且在卡片被选中期间保持可见,从而使侧边栏能够容纳更多卡片。
建议编辑卡片现在会显示每次操作所更改文本的预览
以前,建议卡片仅描述更改的内容类型,例如“已删除文本”,因此审阅者仅通过卡片无法得知文档的哪个部分发生了更改。
在 TinyMCE 8.10.0 中,每个卡片都会引用所更改的文本,例如:将“the”替换为“them”。长文本会用省略号进行缩减。对于非文本更改,卡片会指明更改的内容类型,例如图像或表格。审阅者仅通过卡片即可了解更改的内容及其位置。
侧边栏中的建议卡片现在按照更改在文档中出现的顺序排列
以前,建议卡片是按照建议的创建顺序排列的。例如,如果先编辑文档下方内容,之后再删除文档顶部附近的图像,则该图像的卡片会出现在侧边栏底部。从上到下工作的审阅者不得不在文档中来回移动。
在 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 键会将焦点移动到该卡片的内容中。有关详细信息,请参阅 键盘导航。
建议卡片现在在其可访问名称中包含接受或拒绝的结果,而撤销按钮的名称为 Revert
在 TinyMCE 8.10.0 中,屏幕阅读器会将建议是被接受还是被拒绝作为卡片名称的一部分进行播报,而撤销决定的按钮会被播报为Revert。
建议编辑卡片现在会将没有友好名称的元素描述为“内容”,而不是显示其 HTML 标签名
以前,当更改的元素没有友好名称时,其卡片会显示该元素的 HTML 标签名。例如,粘贴包含 div 元素的内容会生成一个显示“Added div”的卡片。用户会看到无法解释更改的技术术语。
在 TinyMCE 8.10.0 中,卡片将没有友好名称的元素描述为“content”,因此“Added div”现在显示为“Added content”。卡片仍然显示更改后的文本,而已经有友好名称的元素(如段落、图像、表格和列表)的描述方式与之前相同。
没有空格的长反馈文本溢出建议编辑卡片,导致卡片的按钮和文本框错位
此前,针对建议的反馈如果包含没有空格的长字符串(例如长链接),会超出建议卡片的边缘。溢出的文本将卡片的按钮和反馈文本框推离对齐位置,并导致侧边栏横向滚动。
在 TinyMCE 8.10.0 中,长反馈文本会在建议卡片内换行到新的行,卡片的按钮和文本框保持对齐。
同一建议的嵌套部分显示重复的高亮
此前,当一个建议同时更改了一个元素及其内部内容(例如列表的字体大小)时,Review edits 视图会先高亮该元素,然后再将其内部内容的每个部分再次高亮。当建议被选中时,Review edits 视图还会堆叠选择样式。堆叠的样式使更改显得杂乱且难以阅读。
在 TinyMCE 8.10.0 中,Suggested Edits 插件在 Diff mode 和 Preview 中,对于每个建议,只在建议更改的最外层元素上应用一次高亮和选择样式。
有关 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 服务描述该内容。
有关多编辑器模式的信息,请参阅 Multi-editor mode。
AI 预览 Diff mode 中已删除的媒体现在显示红色 X 覆盖层
此前,TinyMCE AI 预览中已删除的图像仅通过高亮标记,这很容易被忽略。
在 TinyMCE 8.10.0 中,TinyMCE AI 预览中的 Diff mode 还会用一个大红色 X 标记已删除的图像、视频和嵌入式框架。
同一建议的嵌套部分显示重复的高亮
此前,当一个建议同时更改了一个元素及其内部内容(例如修改的列表项及其修改的文本)时,TinyMCE AI 插件会对该元素应用高亮、选择和预览高亮样式,并再次对其内部内容应用这些样式。这种堆叠样式出现在 Chat、Quick Actions 和 Review 建议的 Diff mode 和 Preview 中。它使建议显得杂乱且难以阅读。
在 TinyMCE 8.10.0 中,TinyMCE AI 插件在 Diff mode 和 Preview 中,对于每个建议,只在建议更改的最外层元素上应用一次高亮、选择和预览高亮样式。该元素内部的内容不再重复应用这些样式。
当 Review 侧边栏打开时,应用或跳过所有快速操作建议没有效果
此前,当 Review 侧边栏打开但没有正在进行的审查时,TinyMCE AI 插件会将快速操作预览视为属于审查的一部分。在预览页脚中选择 Apply all 或 Skip all 不会解决这些建议,编辑器会保持预览模式。用户必须先关闭 Review 侧边栏,然后才能应用或跳过快速操作的结果。
在 TinyMCE 8.10.0 中,TinyMCE AI 插件会根据是否有正在进行的审查来解决快速操作预览,而不是根据 Review 侧边栏是否打开。当 Review 侧边栏打开时,Apply all 会应用建议,Skip all 会跳过建议,然后编辑器会退出预览模式。
在 Diff mode 中选择已应用或已跳过的建议时,只显示更改的一部分或完全不显示,而不是完整的建议
此前,在 Diff mode 中,一旦应用或跳过建议导致内容从结果中移除,TinyMCE AI 插件就会隐藏该更改的一部分或全部。这影响了跳过的新增、已应用的删除以及被跳过的替换中的新增部分。建议仍保持选中状态(例如在 Review 侧边栏中作为卡片显示),但更改不再出现在内容中。用户无法检查自己刚刚应用或跳过了什么,因此在完成审查前重新考虑决定变得更加困难。
在 TinyMCE 8.10.0 中,当选中某个已应用或已跳过的建议时,TinyMCE AI 插件会在 Diff 模式下显示完整的变更,其中删除的内容带有删除线,新增的内容以增补样式显示。当选择另一个建议时,插件会隐藏该变更,并在再次选中其建议时重新显示。Preview仍然只显示最终内容。
确认对话框中的按钮文本未被翻译
此前,当用户从 Chat 历史记录中删除对话时,弹出的确认对话框无论编辑器语言如何设置,其中的 Yes 和 No 按钮均以英文显示。TinyMCE AI 插件虽然翻译了确认消息,但未翻译按钮文本,导致非英语编辑器的用户看到的是一个双语对话框。
在 TinyMCE 8.10.0 中,TinyMCE AI 插件会将 Yes 和 No 按钮翻译为通过 language 选项设置的语言。整个确认对话框现在会以配置的语言显示。
点击 AI 预览中建议之外的区域现在会取消选中当前建议并关闭其上下文工具栏或审查卡片高亮
此前,在 TinyMCE AI 预览中点击建议之外的空白区域不会执行任何操作。最后选中的建议仍保持高亮,其上下文工具栏仍显示在屏幕上,并且在审查过程中,Review 侧边栏中的匹配卡片仍保持选中状态。清除选择的唯一方法是选择其他建议。用户无法清晰查看建议内容,且上下文工具栏可能会遮挡附近的文本。
在 TinyMCE 8.10.0 中,点击预览中建议之外的任意位置将清除当前选中项。TinyMCE AI 插件会关闭上下文工具栏,并在审查过程中移除 Review 侧边栏中卡片的高亮显示。
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 建议时(例如在执行快速操作后),打开 Suggested Edits 会无警告地丢弃这些建议。切换到 Chat 侧边栏或 Review 侧边栏本会请求确认,但打开 Suggested Edits 却不会。
在 TinyMCE 8.10.0 中,当建议显示时打开 Suggested Edits 会显示相同的确认对话框:离开此 AI 流程将丢弃当前建议并重置已应用的更改。是否继续?点击“取消”会在编辑器中保留建议,点击“确认”则会丢弃建议并打开 Suggested Edits。
在模型加载完成前按 Enter 键发送 AI Chat 提示会导致 “未选择模型” 错误
此前,当用户打开 Chat 侧边栏、输入提示并按 Enter 键时,若 AI 模型列表尚未加载完成,TinyMCE AI 插件会以无模型状态发送提示。此时会显示错误通知,浏览器控制台会记录 TinyMCE AI Error: No model selected。尽管发送按钮在未选择模型时已禁用,但按 Enter 键会绕过该检查。
在 TinyMCE 8.10.0 中,在未选择模型时按 Enter 键将无任何操作。提示文本会保留在输入框中,不会显示错误,用户可以在模型加载完成后发送提示。
AI Chat 中无 http 或 https 协议或含点号主机名的链接源现被视为无效 URL
此前,通过 Add context source > Link 添加的无效链接会显示不同的错误消息。空值或纯文本(如 test)会显示 此 URL 无效。请检查完整正确的网址后重试。而协议或主机名不完整的 URL(如 https://test)会被发送至 AI 服务并报错:添加网络资源 “https://test” 失败:无法从提供的 URL 抓取网络资源。
在 TinyMCE 8.10.0 中,TinyMCE AI 插件仅接受 URL 使用 http 或 https 协议且主机名包含点(如 example.com)的链接。任何其他值都会显示 此 URL 无效。请检查完整且正确的 Web 地址后重试。 并且不会发送到 AI 服务。同样的检查也适用于 tinymceai_chat_fetch_source 选项返回的网络资源,因此诸如 http://localhost 的 URL 会被拒绝。
聊天历史中的聊天操作按钮现在为屏幕阅读器提供了可访问名称
以前,在 TinyMCE AI 聊天历史中,每个对话的操作按钮(用于打开 置顶、重命名 和 删除 选项)没有可访问名称。屏幕阅读器仅将其播报为"按钮"。
在 TinyMCE 8.10.0 中,屏幕阅读器会将该按钮播报为"聊天操作",并按标题和日期播报历史中的每个对话。
有关 TinyMCE AI 插件的信息,请参阅:TinyMCE AI。
拼写检查器
TinyMCE 8.10.0 版本包含 拼写检查器 高级插件的配套发布。
拼写检查器 包含以下修复。
使用键盘向后移动光标时丢失列位置并跳转到行首
以前,当 拼写检查器 插件激活时,按向上箭头键向上移动多行可能会将光标置于行首,而不是保持其列位置。使用 Shift+向上箭头键向上扩展选区时也会出现同样的问题。
在 TinyMCE 8.10.0 中,拼写检查器 插件仅在拼写检查更改编辑器内容时才恢复选区。光标在向上移动行时保持其列位置,包括使用 Shift+向上箭头键扩展选区时。
禁用拼写检查会从紧接其前的选区中移除拼写错误的单词
以前,当启用输入时拼写检查且选区起始或结束于拼写错误的单词之前时,禁用拼写检查会将拼写错误的单词从选区中移除。之后应用于该选区的格式(如加粗)会跳过拼写错误的单词。
在 TinyMCE 8.10.0 中,拼写检查器 插件在禁用拼写检查时保持选区不变。
有关 拼写检查器 插件的信息,请参阅:拼写检查器。
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 粘贴嵌套列表项时,若仅顶级列表项为加粗,使用"保留格式"会导致所有嵌套项变为加粗
以前,当用户从 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。
有关 Revision History 插件的信息,请参阅:Revision History。
Templates
TinyMCE 8.10.0 版本包含了 Templates 高级插件的配套发布。
Templates 包含以下修复。
捆绑的内容 CSS 现在会在模板预览中加载
以前,当编辑器内容 CSS 被捆绑时,Templates 插件不会将其加载到 Insert template 对话框的模板预览中。预览仅从 URL 加载内容 CSS,因此它与编辑器内容的样式不匹配。TinyMCE 8.4.0 修复了 Preview 对话框、Suggested Edits 视图和 Revision History 视图中的同样问题。
在 TinyMCE 8.10.0 中,Templates 插件会将捆绑的内容 CSS 添加到模板预览中,因此预览与编辑器内容匹配。从 URL 加载的内容 CSS 工作方式与之前相同。有关捆绑内容 CSS 的信息,请参阅 Bundling content CSS。
有关 Templates 插件的信息,请参阅:Templates。
配套的 Enhanced Skins & Icon Packs 变更
TinyMCE 8.10.0 版本包含了 Enhanced Skins & Icon Packs 的配套发布。
Enhanced Skins & Icon Packs
Enhanced Skins & Icon Packs 的发布包含以下更新:
重建了 Enhanced Skins & Icon Packs,以纳入同样已纳入 TinyMCE 8.10.0 默认皮肤 Oxide 的变更。
有关使用 Enhanced Skins & Icon Packs 的信息,请参阅:Enhanced Skins & Icon Packs。
新增功能
TinyMCE 8.10.0 还包含以下新增功能:
将 BlobInfo 类型添加到公共 API
以前,TinyMCE 会将 BlobInfo 对象传递给为 images_upload_handler 等选项设置的函数,但不会导出 BlobInfo 类型。TypeScript 集成必须为该对象声明自己的接口。
在 TinyMCE 8.10.0 中,BlobInfo 类型是 TinyMCE 公共 API 的一部分。TypeScript 集成可以用它来为这些选项设置的函数指定类型。
自定义视图的新 keepToolbar 属性
以前,打开 custom view 会隐藏编辑器菜单栏、工具栏和状态栏,因此该视图会取代整个编辑器。
在 TinyMCE 8.10.0 中,视图规范对象接受一个新的 keepToolbar 属性。当 keepToolbar 设置为 true 时,在视图打开时菜单栏、工具栏和状态栏会保持可见,并且打开视图会关闭任何打开的侧边栏。默认值为 false,这保持了以前的行为。
Bug 修复
TinyMCE 8.10.0 还包含以下 bug 修复:
编辑器 iframe 在非 Firefox 浏览器上缺少其 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 bug 添加了一个变通方法,该 bug 导致在列表项文本右侧点击时,插入符会位于列表项的开头。该变通方法在按下鼠标按钮时运行,并阻止了默认的浏览器行为,这也阻止了拖动选择。
在 TinyMCE 8.10.0 中,变通方法改为在点击完成时运行。在列表项右侧按下鼠标按钮并拖动会选择内容,并且在列表项右侧点击仍然会将插入符放置在预期位置。
当内容包含空的格式化元素时,点击元素末尾的 右侧可能会导致选区跳转
以前,当内容包含一个空的格式化元素时(例如应用了字体大小等格式但没有选择文本后留下的元素),点击以不间断空格 ( ) 结尾的行右侧会将插入符移离点击位置。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 中,在列或行调整大小栏上按下鼠标按钮不会移动选区。调整大小期间输入的文本会插入到选区中,并且光标会在调整大小结束时停留在所输入文本的末尾。