ボタンを既存のプラグインに追加しました (プラグインは完全に機能します)。$('#vkb')
このボタンは、ユーザーがいくつかの記号を選択できるようにする仮想キーボードを動的に作成します。tinyMCE でそのボタンを初めて実行すると、機能し、シンボルを選択して TinyMCE エディターに挿入できます。
しかし、この最初の正しく機能するインスタンスのある時点で、エラーが発生しますTypeError: K is undefined
。ed.execCommand を呼び出すとK undefined
エラーが発生し続けますが、現在のインスタンスは引き続き機能します。しかしその後、TinyMCE ツールバーを作成する他のすべてのインスタンスでは、次のことが起こります。
ed.execCommand('mceInsertContent', false, str);
プラグインコードのコマンドが機能しない、および- このエラーが表示されます:(
t is null
私t
が最も可能性が高いと思う場所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