1

ボタンを既存のプラグインに追加しました (プラグインは完全に機能します)。$('#vkb')このボタンは、ユーザーがいくつかの記号を選択できるようにする仮想キーボードを動的に作成します。tinyMCE でそのボタンを初めて実行すると、機能し、シンボルを選択して TinyMCE エディターに挿入できます。

しかし、この最初の正しく機能するインスタンスのある時点で、エラーが発生しますTypeError: K is undefined。ed.execCommand を呼び出すとK undefinedエラーが発生し続けますが、現在のインスタンスは引き続き機能します。しかしその後、TinyMCE ツールバーを作成する他のすべてのインスタンスでは、次のことが起こります。

  1. ed.execCommand('mceInsertContent', false, str);プラグインコードのコマンドが機能しない、および
  2. このエラーが表示されます:(t is nulltが最も可能性が高いと思う場所this、つまりエディタ自体)。

以下は私のコードです:

      // Registering the command
       ed.addCommand('mceArIndic', function() {
       _dovkb();

    function _dovkb()
    {  // some code for a virtual keybaord that lets users choose indic symbols
           // the final symbols are stored in a variable called 'ret'
           // I want ret's contents to be inserted in the tinymce editor

           // the code below is what happens when the closing key on the virtual keyboard is clicked:

    $('#vkbstop').live('click',function(e){
    var ret = $('#numoutput').val();
    $('#numoutput').val('');
    $('#vkb').remove();
    console.log("t.inserting");
            /* THIS IS WHERE K SOMETIMES BECOMES UNDEFINED, THEN ALL */ 
            /* DYNAMICALLY-CREATED TINMYCE INSTANCES THAT FOLLOW HAVE T AS NULL */
    ed.execCommand('mceInsertContent', false, ret); 
    toprint = '';
});

    // Register arindic button
    ed.addButton('arindic', {
        title : 'Type Arabic/Indic digits',
        cmd : 'mceArIndic',
        image : url + '/img/indic.png'
    });

コードの最後で、プラグインが正しく登録されています。

エディターの読み込みが終わっていないのではないかと思いましたが、長い遅延を待ってから試してみたので、そうではありません。他のボタンが正常に機能しているため、そうではないのに、なぜed.execCommand時々そのK is nullエラーが発生するのか、その後、コマンドでのすべての試みがそれを言うだけなのか.t is null

編集

tiny_mce_dev.jsに切り替えた後、「選択」ではなく「K」ではなく、少し異なるエラーが表示さ TypeError: selection is null れました。もう少し情報があります: ieRng = selection.getRng();-Editor.js行897

4

0 に答える 0