2011-07-20 17 views
3

私はTinyMCEのを使用していたとき、私は、FirefoxとOperaはJavaScriptエラーを取得しています:TinyMCEのブラウザ「修正」

j is null 
(function(d){var a=/^\s*|\s*$/g,e,c="B...a.selection.onSetContent.add(f)})}}); 

このエラーは、私は2回目のためのテキストエリアの内容を保存した後にアップします3回目など保存して初めて...

これは他のブラウザ(IEとChrome)でも問題なく動作しているため、OperaとおそらくFirefoxが動作している「TinyMCE」の修正が問題であると想定しています。

これらのブラウザでこれらの修正が適用されないようにする方法はありますか?とにかくブラウザがサードパーティのスクリプトを修正しようとすると私にはばかげているようです。

+1

FirefoxはTinyMCE固有の修正を実行しません。 –

+1

こんにちはアレックス、私は個人的にすべてのTinyMCEを書いた "修正"オペラが適用されます。これらの互換性の問題を解決するためのあまり「ばかばかしい」方法がある場合は、私はそれらを聞いて欲しいです:-) – hallvors

+0

私の誤解はありません。なぜなら、looove Operaはなぜ、このような素晴らしいブラウザがバグのあるjsアプリケーションTinyMCEのような? :/ – Alex

答えて

2

それは虫食いです。内部的には、tinymceコードは貼り付け時にキャレット位置を記憶するために<span id="mce_marker"></span>を使用します。結果のフラグメントを検証するときに、ペースト後にスパンが無効であるとみなされ、削除され、マーカーを削除することによってコードが破られます。 この問題は、次の公式のtinymceマイナーリリースで修正される予定です。この種の問題にはいくつかの回避策があります。 1つは as valid elements (init setting)idmce-data-type属性を追加することです。例:

// The valid_elements option defines which elements will remain in the edited text when the editor saves. 
    valid_elements: "@[id|class|title|style]," + 
    "a[name|href|target|title]," + 
    "#p,-ol,-ul,-li,br,img[src],-sub,-sup,-b,-i,-u," + 
    "-span[data-mce-type]",