2017-12-05 16 views
0

私はToolbar Configuratorを実行して、不要なアイテムをツールバーから削除しました。私はこのように始まり、いくつかのJavaScriptコードで構成され、ツールバーの設定を、取得することができます:実行時に新しいeditorConfigをインラインエディタ用に読み込む方法は?

CKEDITOR.editorConfig = function(config) { 
    config.toolbarGroups = [ 

しかし、特定のエディタをインスタンス化する代わりに、グローバルに使用する場合にこれを使用するかどうかは私には不明です。問題のエディタをインスタンス化する前に、これを自分のコードに貼り付けてみましたが、不要なアイテムを含む完全なツールバーが表示されます。現時点で他のCKEDITOR.configCKEDITOR.on割り当てを行っています。

私も(エディタがコールバックに渡されたイベントの「編集者」欄どこから来る)editor.configconfigを変更することにより、関数内で構成コードを変更し、CKEDITOR.on("instanceReady")のコールバックでそれを初期化してみましたが、それがまたやりましたうまくいかない。

それから私はthis questionを見て、そうのような機能を置き換える使用してみました:

CKEDITOR.on("instanceReady", function(evt) { 
    ... 
    CKEDITOR.replace(evt.editor.name, { 
     toolbarGroups: [ 
      ... 
     ], 

     removeButtons: "..." 
    }) 
    ... 

また、これは動作しませんを!これにはない

CKEDITOR.replace(evt.editor.name, { 
    customConfig: "config2.js" 
}) 

は、その後、私は、サーバー上のas this page suggests should work私のCKEditorバージョンのディレクトリに新しいファイル「config2.js」にコンフィギュレータから生の設定を貼り付け、およびに置き換えるコールを変更しようとしました私が文字列を "../ckeditor/config2.js"に置き換えたとしても、動作します。ネットワークリクエストを見ると、どこからでも "config2.js"をリクエストすることさえありません。

もし何か違いがあれば、私はCKEDITOR.inline(div)を使ってエディタを起動しているので、イベントコールバックで設定を実行しなければなりません。

"instanceCreated"コールバックからreplace関数を呼び出すことも試みました。これにより、無限ループ/最大再帰がエラーを超えました。私も "instanceLoaded"イベントでそれを試してみました。

更新:

Uncaught The editor instance "note1681" is already attached to the provided element. 

だから、私が代わると間違って何かをやっているようだ: 私はちょうど置き換える呼び出そうとした場合、それは、このエラーをスローすることをコンソールに気づきました。

+0

エディタはこれら実施例に基づいて構築されどのようにチェックし、[ここ](https://sdk.ckeditor.com/index.html) を使用して、ツールバーのバージョン

editor.my_toolbar = [['Sourcedialog','Cut','Copy']]; 

初期化CKEditorバージョンJSとも[古いサンプルはこちら](https://cdn.ckeditor.com/4.7.3/full-all/samples/old/)で検索している可能性があります さまざまな方法でエディタがどのように設定されているかの例がたくさんあります。一般的には、エディタを初期化するときにツールバーの設定を行う必要があります。そのため、CKEDITOR.replace、CKEDITOR.inlineメソッドを呼び出すときにツールバーの設定を行う必要があります。 –

答えて

0

インスタンスを初期化した後にボタンを非表示(ツールバーを変更)することは不可能だと思います。ただし、新しいツールバーを使用してckeditorを再作成することはできます。 最初に、新しいインスタンスを作成する前に、現在のインスタンスを破壊する必要があります。高速スイッチングToolbarの

CKEDITOR.instances.note1681.destroy(); CKEDITOR.replace('note1681');

、私は、構成ファイル内のカスタム変数を使用をお勧めします。

ckeditor/configに追加します。それ

CKEDITOR.replace('note1681', { toolbar: my_toolbar }) 
関連する問題