此插件仅适用于付费 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 插件目前有以下限制:

  1. 英语是唯一支持的语言。

  2. 大写和自动更正都可以关闭,但特定的自动更正无法关闭。

    Spelling Autocorrect 可以完全关闭,但目前无法指示插件忽略其认为拼写错误的特定字符串。

    例如,如果 cna(Spelling Autocorrect 插件将其视为 can 的拼写错误)在特定用例中是所需字符串,则建议关闭 Spelling Autocorrect 插件。

  3. 自动更正和大写不能作为工具栏按钮使用。它们只能作为菜单项使用。

  4. Spelling Autocorrect 区分大小写。

    因此,如果拼错的单词与插件内置的更正集不完全匹配,则不会自动更正。

    例如,Spelling Autocorrect 会将 teh 自动更正为 the,但目前不会将 Teh 自动更正为 The。

已知问题

Spelling Autocorrect 插件有以下已知问题:

  1. 自动更正会覆盖自动大写。

    由于 Spelling Autocorrect 区分大小写,如果

    • autocorrect 和 capitalization 都处于活动状态;且

    • 指定的拼写错误集中的单词在句首被拼错;

    则会更正拼写,但不会将首字母大写。

  2. 自动大写在非空 TinyMCE 文档中紧随软回车后的文本上不起作用。

    如果满足以下条件,自动大写将不会对输入的字符串起作用:

    • TinyMCE 文档包含除软回车字符(Unicode U+2028,通常通过按 Shift+Return 输入)以外的任何数据;且

    • 紧接在输入字符串前的字符是软回车字符。

  3. 自动大写与 mediaembed,即 Enhanced Media Embed 高级插件,发生冲突。

  4. 自动大写与 linkchecker,即 Link Checker 高级插件,发生冲突。

  5. 当 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/'
});

菜单项

拼写自动更正插件提供以下菜单项:

菜单项标识符默认菜单位置描述

autocorrect

工具

切换自动更正功能的开启或关闭。

capitalization

工具

切换大写功能的开启或关闭。

可以使用以下方式将这些菜单项添加到编辑器中:

事件

拼写自动更正插件提供以下事件。

名称数据描述

AutocorrectStart

N/A

当自动更正功能从关闭状态变为开启状态时触发。

AutocorrectEnd

N/A

当自动更正功能从开启状态变为关闭状态时触发。

CapitalizeStart

N/A

当大写功能从关闭状态变为开启状态时触发。

CapitalizeEnd

N/A

当大写功能从开启状态变为关闭状态时触发。