【问题标题】:TinyMCE 4.0.5 spell check not workingTinyMCE 4.0.5 拼写检查不起作用
【发布时间】:2018-04-10 15:16:48
【问题描述】:

我目前正在使用带有 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

【问题讨论】:

  • 双斜线来自错误日志。
  • 是的,我认为它是错误日志中报告的项目设置。即 PATH/tinymce/js/tinymce/plugins/spellchecker//plugin.min.js 不同于 PATH/tinymce/js/tinymce/plugins/spellchecker/plugin.min.js 因此错误。因此,找到 PATH/tinymce/js/tinymce/plugins/spellchecker// 被注入到您的代码中的位置,并将其更改为 PATH/tinymce/js/tinymce/plugins/spellchecker/ 并看看你是怎么做的。
  • 很遗憾,我找不到源
  • 这可能会有所帮助 [TinyMCE 4.0.5 拼写检查不起作用][1] [1]: stackoverflow.com/questions/17241992/…

标签: tinymce


【解决方案1】:

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

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

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

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

【讨论】:

  • 作为看到这篇文章的其他人的注释。如果您在 Firefox 中,您会看到拼写错误的单词,但是当您右键单击时,您会看到 TinyMCE 的上下文菜单。 (IE 11 工作正常,我读过)您需要禁用 TinyMCE 的上下文菜单。您可以通过在初始化代码中添加 contextmenu: false, 来做到这一点。另外,从插件中删除 contextmenu。之后效果很好!
【解决方案2】:

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

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

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

【讨论】:

    【解决方案3】:

    当前版本的 tinyMCE PHP 拼写检查器 (2.0.6.1) 似乎适用于 tinyMCE 3.x 而不是 4.x。设置 4.0.12 时,我遇到了与您相同的问题。即使我将我的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 一起使用。

    【讨论】:

      【解决方案4】:

      我做了很多研发如何使它与 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
      ({
      模式:“精确”,
      选择器:'textarea',
      身高:540,
      与:“汽车”,
      菜单栏:假,
      工具栏:'拼写检查器 |格式选择 |粗斜体删除线前色背景|链接 | alignleft aligncenter alignright alignjustify | numlist Bullist outdent 缩进 |撤消重做 |删除格式',
      toolbar_items_size: '小',
      branding: false, // 禁用“由 TinyMCE 提供支持”
      状态栏:假,
      插件:“拼写检查器”,
      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: *");
      

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

      谢谢。

      【讨论】:

        猜你喜欢
        • 2013-03-27
        • 2012-05-02
        • 2011-10-24
        • 2013-06-18
        • 1970-01-01
        • 2013-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多