16

我目前正在使用带有 jQ​​uery 包的 TinyMCE 4.0.5,并注意到拼写检查不起作用

我正在使用一个简单的设置

tinymce.init({
         selector: "textarea",
         plugins : "spellchecker",
});

通过此设置,我可以在“工具”下看到“拼写检查”选项,但是当我单击“拼写检查”时,它会引发错误“错误:一般”

错误日志中也有错误“文件不存在:PATH/tinymce/js/tinymce/plugins/spellchecker//

但我可以在上述路径 PATH/tinymce/js/tinymce/plugins/spellchecker/plugin.min.js 中看到以下文件

4

4 回答 4

36

根据我在其他地方找到的内容,拼写检查插件由 Google 服务提供支持——该服务已停用。所以目前似乎没有集成的 TinyMCE 拼写检查解决方案。

但是,您可以通过执行以下操作来启用浏览器的内置拼写检查器:

tinymce.init({
    browser_spellcheck : true,
});

请务必从您的工具栏和插件列表中删除拼写检查器。

于 2014-01-16T21:51:57.127 回答
1

当前版本的 tinyMCE PHP 拼写检查器 (2.0.6.1) 似乎适用于 tinyMCE 3.x 而不是 4.x。设置 4.0.12 时,我遇到了与您相同的问题。即使我将 my 设置spellchecker_rpc_url为从 2.0.6.1 php 指向 rpc.php,它也不起作用,因为代码与 tinyMCE 发送的 JSON 请求不一致。

tinyMCE 拼写检查器 git hub 上有未发布的工作https://github.com/tinymce/tinymce_spellchecker_php 如果你下载并使用它,你应该有更多的运气。但请注意,Google API 不再存在,因此您必须使用 enchant 或 pspell。

在这篇文章http://www.tinymce.com/develop/bugtracker_view.php?id=6309%29上,还有一个建议的解决方案来更新 2.0.6.1 代码以与 4.x 一起使用。

于 2013-12-29T20:42:58.607 回答
1

遇到这个问题,解决方案比问题本身更奇怪:问题是,当插件缺少spellchecker_rpc_url参数时,它只是查询他所在的目录,这就是我们得到的原因

文件不存在:PATH/tinymce/js/tinymce/plugins/spellchecker/

spellchecker_rpc_url参数设置为您的脚本 URL,错误消息将消失。

于 2013-10-26T23:03:13.510 回答
0

我做了很多研发如何使它与 PHP 一起工作,详细信息如下:

  1. 从 tinyMCE 网站下载 tinyMCE 的社区版本。在下载目录下,plugin文件夹下有一个spellcheck文件夹,里面有一个文件plugin.min.js。对该文件的引用需要在客户端代码中添加。

  2. 从给定的 URL 下载 PHP 拼写检查代码,即 https://www.tinymce.com/docs/get-started/spellchecking/#phpspellcheckercomponent

在 PHP 服务器上托管相同的内容。并确保在 PHP 服务器上启用附魔选项。

您可以通过 phpserverurl/spellchecker/info.php 进行检查,找到附魔模块 [检查附魔选项是否启用,在 PHP 服务器上][1][1]:https://i.stack.imgur。 com/fBzDm.png

如果文件 phpserverurl/spellchecker/info.php 不存在,则在那里创建一个新文件并编写以下代码:

<?php
phpinfo();
?>

tinyMCE 的客户端代码:

// 脚本参考

tinymce.init
({
mode: "exact",
selector: 'textarea',
height: 540,
with: 'auto',
menubar: false,
toolbar: 'spellchecker | formatselect | 粗斜体删除线前景色背景色 | 链接 | alignleft aligncenter alignright alignjustify | numlist Bullist outdent indent | undo redo | removeformat',
toolbar_items_size: 'small',
branding: false, // 禁用“Powered by TinyMCE”
状态栏: false,
plugins: "spellchecker",
spellchecker_rpc_url: 'phpserverurl/spellchecker/spellchecker. php',// 这是托管拼写检查代码的 php 服务器的 url spellchecker_languages: 'en'
});


呈现编辑器时单击拼写检查图标,它将为您提供更正拼写错误单词的建议。

如果您的 tinyMCE 代码和拼写检查代码托管在不同的服务器上,则在 spellchecker.php 文件的标题中添加一行代码,如下所示

header ("Access-Control-Allow-Origin: *");
header ("Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS");
header ("Access-Control-Allow-Headers: *");

为了解决跨域请求,否则,不需要添加上面这行代码。

谢谢。

于 2018-04-10T07:11:20.743 回答