web-dev-qa-db-ja.com

TinyMCE4.0.5のスペルチェックが機能しない

現在、jQueryパッケージでTinyMCE 4.0.5を使用していますが、スペルチェックが機能していないことに気付きました。

私は簡単なセットアップを使用しています

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

この設定では、「ツール」の下に「SpellCheck」オプションが表示されますが、「SpellCheck」をクリックすると、「エラー:一般」というエラーがスローされます。

また、エラーログに「ファイルが存在しません:PATH/tinymce/js/tinymce/plugins/pellchecker //」というエラーがあります。

しかし、私は上記のパスに次のファイルを見ることができますPATH/tinymce/js/tinymce/plugins/spellchecker/plugin.min.js

16
Daptal Ms

私が他の場所で見つけたものによると、スペルチェッカープラグインはGoogleサービスによって提供されていました-それは廃止されました。したがって、現時点では、統合されたTinyMCEスペルチェッカーソリューションはないようです。

ただし、次の手順を実行することで、ブラウザの組み込みのスペルチェッカーを有効にできます。

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

ツールバーとプラグインリストからスペルチェッカーを必ず削除してください。

34
wloescher

これに遭遇すると、解決策は問題自体よりもさらに奇妙です。プラグインがspellchecker_rpc_urlパラメータを見逃すと、プラグインが存在する同じディレクトリにクエリを実行するだけなので、次のようになります。

ファイルが存在しません:PATH/tinymce/js/tinymce/plugins/spellchecker /

spellchecker_rpc_urlパラメータをスクリプトURLに設定すると、thisエラーメッセージが表示されなくなります。

1
David Jashi

TinyMCEの現在のバージョンPHPスペラーチェッカー(2.0.6.1)は、4.xではなくtinyMCE3.x用のようです。4.0.12をセットアップしたときに同じ問題が発生しました。 spellchecker_rpc_urlを2.0.6.1phpのrpc.phpを指すように設定しても、コードがtinyMCEによって送信されるJSONリクエストと一致しないため、機能しません。

TinyMCEスペルチェッカーgitハブには未リリースの作業があります https://github.com/tinymce/tinymce_spellchecker_php これをダウンロードして代わりに使用すると、運が良くなるはずです。ただし、Google APIはもう存在しないため、エンチャントまたはpspellを使用する必要があることに注意してください。

この投稿では、4.xで動作するように2.0.6.1コードを更新するための提案されたソリューションもあります http://www.tinymce.com/develop/bugtracker_view.php?id=6309%29

1
Martin Cassidy

PHPで動作させる方法について、多くの研究開発を行いました。詳細は以下のとおりです。

  1. TinyMCEのコミュニティバージョンをtinyMCEWebサイトからダウンロードします。ダウンロードディレクトリでは、plugin.min.jsファイルが存在するpluginフォルダの下にspellcheckフォルダがあります。このファイルへの参照は、クライアント側のコードを追加する必要があります。

  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/pellchecker/info.phpが存在しない場合は、そこに新しいファイルを作成し、次のコードを記述します。

<?php
phpinfo();
?>

TinyMCEのクライアント側コード:

//スクリプトリファレンス
















エディターが表示されたらスペルチェックアイコンをクリックすると、スペルミスのある単語を修正するための提案が表示されます。

TinyMCEコードとスペルチェッカーコードが別のサーバーでホストされている場合は、spellchecker.phpファイルのヘッダーにコード行を追加します。

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

クロスドメインリクエストを解決するために、それ以外の場合は、上記のコード行を追加する必要はありません。

ありがとう。

0
Jayoti Parkash