1. ホーム
  2. javascript

[解決済み] tinymceのペーストをデフォルトでプレーンテキストにする方法

2022-11-17 13:32:27

質問

何千回もググりましたが、誰も Tinymce をデフォルトでプレーン テキストで貼り付け、"テキストとして貼り付け" ボタンをクリックせずに任意のフォーマットを削除する方法の完全なソリューションを与えていません。

どのようにそれを実装するか、または "paste as text" ボタンを自動的に有効にする方法について何かアイデアはありますか?

ありがとうございます。

どのように解決するのですか?

EDITです。 4.xについては、@Paulo Nevesの回答を参照してください。

問題は、貼り付けプラグインが貼り付けのたびにプレーンテキストの貼り付けを自動的にリセットすることです。ですから、私たちがしなければならないのは、それを元に戻すことです。次のコードが役に立ちます。

tinyMCE.init({
...
oninit : "setPlainText",
plugins : "paste"

....
});

setPlainTextの定義

 function setPlainText() {
        var ed = tinyMCE.get('elm1');

        ed.pasteAsPlainText = true;  

        //adding handlers crossbrowser
        if (tinymce.isOpera || /Firefox\/2/.test(navigator.userAgent)) {
            ed.onKeyDown.add(function (ed, e) {
                if (((tinymce.isMac ? e.metaKey : e.ctrlKey) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45))
                    ed.pasteAsPlainText = true;
            });
        } else {            
            ed.onPaste.addToTop(function (ed, e) {
                ed.pasteAsPlainText = true;
            });
        }
    }

これで常に無地になるわけだ。