此插件仅适用于付费 TinyMCE 订阅。
Spelling Autocorrect 插件允许 TinyMCE 在输入时自动更正指定的拼写错误、常见拼写错误和大写错误。
交互式示例
HTML
<div id="tiny-ui">
<textarea id="autocorrect" style="width: 100%; height: 500px;">
<h2>欢迎使用 Spelling Autocorrect。</h2>
<p>请尝试此 Spelling Autocorrect 高级插件的演示。</p>
<ol>
<li>故意打错一个字。例如,输入 <em>teh</em> 而不是 <em>the</em>。</li>
<li>在不将句子首字母大写的情况下开始一个新句子。</li>
</ol>
</textarea>
</div>JS
tinymce.init({
selector: 'textarea#autocorrect',
plugins: 'autocorrect',
autocorrect_capitalize: true
});基本设置
tinymce.init({
selector: 'textarea', // 根据你的 HTML 更改此值
plugins: 'autocorrect'
});有关使用模块打包器捆绑此插件的信息,请参阅 捆绑 TinyMCE - 概述。
使用说明
Spelling Autocorrect 插件目前有以下限制:
英语是唯一支持的语言。
大写和自动更正都可以关闭,但特定的自动更正无法关闭。
Spelling Autocorrect 可以完全关闭,但目前无法指示插件忽略其认为拼写错误的特定字符串。
例如,如果
cna(Spelling Autocorrect 插件将其视为 can 的拼写错误)在特定用例中是所需字符串,则建议关闭 Spelling Autocorrect 插件。自动更正和大写不能作为工具栏按钮使用。它们只能作为菜单项使用。
Spelling Autocorrect 区分大小写。
因此,如果拼错的单词与插件内置的更正集不完全匹配,则不会自动更正。
例如,Spelling Autocorrect 会将 teh 自动更正为 the,但目前不会将 Teh 自动更正为 The。
已知问题
Spelling Autocorrect 插件有以下已知问题:
自动更正会覆盖自动大写。
由于 Spelling Autocorrect 区分大小写,如果
autocorrect和capitalization都处于活动状态;且指定的拼写错误集中的单词在句首被拼错;
则会更正拼写,但不会将首字母大写。
自动大写在非空 TinyMCE 文档中紧随软回车后的文本上不起作用。
如果满足以下条件,自动大写将不会对输入的字符串起作用:
TinyMCE 文档包含除软回车字符(Unicode U+2028,通常通过按 Shift+Return 输入)以外的任何数据;且
紧接在输入字符串前的字符是软回车字符。
自动大写与
mediaembed,即 Enhanced Media Embed 高级插件,发生冲突。自动大写与
linkchecker,即 Link Checker 高级插件,发生冲突。当 Spelling Autocorrect 与 Spell Checker 高级插件一起使用时,当选择非英语语言时,自动更正和大写将被禁用。
但是,可以通过分别选择 工具 > 自动更正 菜单项和 工具 > 大写 菜单项重新启用自动更正和大写。
选项
autocorrect_autocorrect
此选项在加载 TinyMCE 编辑器时启用或禁用拼写错误自动更正。
当设置为 true 时,在初始化 TinyMCE 时启用拼写错误自动更正。
用户的偏好优先于下一次初始化时的配置。当用户通过菜单项启用或禁用自动更正时,用户的偏好会保存到 localStorage 中。类型: Boolean
默认值: true
可能的值: true, false
示例:使用 autocorrect_autocorrect
tinymce.init({
selector: 'textarea', // 根据你的 HTML 更改此值
autocorrect_autocorrect: false
});autocorrect_capitalize
此选项在加载 TinyMCE 编辑器时启用或禁用大写自动更正。
当设置为 true 时,在初始化 TinyMCE 时启用大写自动更正。
用户的偏好优先于下一次初始化时的配置。当用户通过菜单项启用或禁用自动更正时,用户的偏好会保存到 localStorage 中。类型: Boolean
默认值: false
可能的值:true,false
示例:使用autocorrect_capitalize
tinymce.init({
selector: 'textarea', // change this value according to your HTML
autocorrect_capitalize: true
});autocorrect_service_url
此选项指定服务器端 ephox-spelling 服务的 URL。
有关如何设置拼写检查服务器端组件的说明,请参见:使用 Docker 部署 TinyMCE 拼写服务服务器端组件。
通过 Tiny Cloud 启用此插件时,autocorrect_service_url 不是必需的。类型:String
示例:使用autocorrect_service_url
tinymce.init({
selector: 'textarea', // change this value according to your HTML
autocorrect_service_url: 'http://example.com/ephox-spelling/'
});菜单项
拼写自动更正插件提供以下菜单项:
| 菜单项标识符 | 默认菜单位置 | 描述 |
|---|---|---|
| 工具 | 切换自动更正功能的开启或关闭。 |
| 工具 | 切换大写功能的开启或关闭。 |
可以使用以下方式将这些菜单项添加到编辑器中:
menu配置选项。contextmenu配置选项。
事件
拼写自动更正插件提供以下事件。
| 名称 | 数据 | 描述 |
|---|---|---|
AutocorrectStart | N/A | 当自动更正功能从关闭状态变为开启状态时触发。 |
AutocorrectEnd | N/A | 当自动更正功能从开启状态变为关闭状态时触发。 |
CapitalizeStart | N/A | 当大写功能从关闭状态变为开启状态时触发。 |
CapitalizeEnd | N/A | 当大写功能从开启状态变为关闭状态时触发。 |