20

CKEditorのコンテキスト(右クリック)メニューを無効にする方法を知っている人はいますか?構成オプションを期待しますが、見つかりません。私はv3.1を使用しています。ありがとう。

4

12 に答える 12

37

バージョン3.6.4以降、この質問の他の回答は機能しなくなりました。バグ#9284を参照してください

(この質問で説明した手段を使用して)無効にする必要がある3つのプラグインは、、contextmenuおよびliststyleですtabletools。したがって、たとえば、構成ファイルを使用すると、次のようになります。

CKEDITOR.editorConfig = function(config) {
    /* Your config options */
    ...
    config.removePlugins = 'contextmenu,liststyle,tabletools';
};
于 2012-08-31T13:26:14.200 に答える
14

contextmenuプラグインを削除する必要があります。3.1についてはこちらをご覧ください。

于 2010-02-11T18:24:43.877 に答える
7

Ckeditor4.7.1

CKEDITOR.editorConfig = function (config) {
  config.language = 'en';
  config.toolbar = "mini";
  config.removePlugins = 'elementspath,contextmenu,liststyle,tabletools,tableselection';
  config.disableNativeSpellChecker = false;
}

Ckeditor 4.8.0('elementspath'プラグインを削除する必要がなくなりました)

CKEDITOR.editorConfig = function (config) {
  config.language = 'en';
  config.toolbar = "mini";
  config.removePlugins = 'contextmenu,liststyle,tabletools,tableselection';
  config.disableNativeSpellChecker = false;
}
于 2017-07-31T11:01:05.043 に答える
3

contextmenu動作を初期化するプロトタイプ関数をオーバーライドすることにより、まだ実用的な解決策があります。

CKEDITOR.dom.element.prototype.disableContextMenu = function () {
    this.on( 'contextmenu', function( event ) {
        // your contextmenu behavior
    });
};

注:CKEDITORがJSリソースを動的にロードする場合は、呼び出しの直前に配置する必要がありreplaceます。

于 2014-11-12T08:58:08.653 に答える
2

これを機能させるには、次のすべてを無効にする必要がありました。

config.removePlugins = 'language,tableresize,liststyle,tabletools,scayt,menubutton,contextmenu';

以前は言語やテーブルサイズは必要ありませんでしたが、新しいバージョンのckeditorではそれが必要なようです。

私はこれをChromeのF12開発ツールの出力を見て発見しました。

于 2014-07-31T04:40:54.530 に答える
2

サイトのF12コンソールウィンドウで次のスニペットを使用して、CKEditorの特定のビルドで必要なプラグインを見つけることができますcontextmenu(jQueryもあると仮定します$.each)。

$.each(CKEDITOR.plugins, function(k, v){ 
    v.requires && console.log("Plugin '" + k + "' requires: " + v.requires) 
})

例えば:

プラグイン「tabletools」には、table、dialog、contextmenuが必要です

次に、これを使用してconfig.removePlugins、私の場合は次のことを支援できます。

config.removePlugins = 'tabletools,contextmenu'
于 2014-12-17T12:26:53.003 に答える
1

バージョン4.2の場合、config.jsファイルの最後に次のように配置します

CKEDITOR.on('instanceReady', function(ev) {
   ev.editor.editable().addClass('cke_enable_context_menu')
});
于 2013-08-02T13:45:18.943 に答える
1

Ctrlボタンを押しながら右クリックすると、コンテキストメニューがバイパスされ、スペルチェッカーなどにアクセスできます。

于 2018-06-01T21:08:54.813 に答える
0

CKEditor 3.6では、上記のようにコンテキストメニュープラグインを削除することでコンテキストメニューを無効にすることができました。これを行うには、removePluginsオプションを使用してエディターを構成する必要があります。例えば:

CKEDITOR.replace('my_editor', {
    removePlugins : 'contextmenu'
});

config.jsファイルからグローバルに無効にすることもできます。

CKEDITOR.editorConfig = function(config) {
    /* Your config options */
    ...
    config.removePlugins = 'contextmenu';
};
于 2012-06-26T05:31:20.663 に答える
0

残念ながら、CKEditor 3.6 / 4.0以降、これは機能しなくなりました。

バグレポートを参照してください:http://dev.ckeditor.com/ticket/9284

于 2012-09-18T12:49:07.610 に答える
0

CKEditor 4.xでは(私は4.2.2をテストしました)、次の両方を行う必要があります。

CKEDITOR.replace('my_editor', { removePlugins : 'contextmenu' });

CKEDITOR.editorConfig = function(config) {
/* Your config options */
...
config.removePlugins = ''liststyle,tabletools,contextmenu'';
};

無効にしない場合、これら3つすべてにコンテキストメニューが自動的に必要になります。

于 2013-11-26T22:54:31.397 に答える
0

この行を構成ファイル(通常はfckconfig.js)に追加して、コンテキストメニューを完全に無効にすることができます。

FCKConfig.ContextMenu = [];
于 2014-05-23T10:46:54.790 に答える