0

ページの 1 つに TinyMCE エディターを追加しています。私の給料以上の理由で、TinyMCE 3.5.4.1 を使用しています。

onFocus イベント ハンドラーを配線しようとした場合を除いて、かなりうまくいきました。ハンドラーを使用しない場合、エディターが表示されて正常に動作しますが、ハンドラーを定義するページでは、試したブラウザーの種類 (IE8、9、10 および Chrome) の TinyMCE 内に大量の例外が発生します。 )。

ここで見た他の投稿のテンプレートを使用してきましたが、これらすべての TinyMCE 例外について言及していません。もちろん、縮小されたスクリプトを巻き戻そうとするのは本当に面倒です。

ここで見つけた最初の例では、TinyMCE 構成に次のようなセットアップ機能がありました。

 , setup: function (ed) {
      ed.onInit.add(function (ed, evt) {
      if (!myFocus) return; // global for the handler to use
         var dom = ed.dom;
         var doc = ed.getDoc();
         tinymce.dom.Event.add(doc, 'focus', myFocus);
      });
   }

myFocus が定義されている場合、TinyMCE が if (j.isIE){l.attachEvent(...)} で始まる多数の例外をスローし、l.attachEvent が存在しないことを訴えます。次に、あらゆる種類の変数型の不一致に進みます。

Chrome 開発者ツールは、縮小されたコードをいじるのがはるかに厄介なので、何が気に入らないのかわかりません。

ここで見つけた別の投稿では、最小限のブラウザ検出を行うことを提案していましたが、これは IE も Chrome も役に立ちませんでした。

var doc = s.content_editable ? ed.getBody() : (tinymce.isGecko ? ed.getDoc() : ed.getWin())

別の投稿で別のアプローチが提案されましたが、両方のブラウザーで同じエラーが発生しました。

, setup: function (ed) {
     ed.onInit.add(function (ed, evt) {
     if (!myFocus) return;
     ed.onFocus.add(myFocus);
     });
}

私も試してみました(無駄に)

, setup: function (ed) {
      if (!myFocus) return;
      ed.onFocus.add(myFocus);
 }

TinyMCE でのイベント処理は非常に脆弱ですか? ブラウザー間で十分にサポートされていませんか? 私はそれを避けて、jQueryなどを使ってみるべきですか?

ありがとうマーク

4

1 に答える 1

0

エクステンド コールがエディタを作成するまで延期されるパイロット エラー バグであることが判明しました。

于 2013-08-12T15:40:51.260 に答える