2016-11-08 7 views
0

私はtinyMCEのコンテンツを初期化した後に設定するエディタを設定しました。その目的で関数を呼び出すためにinit_instance_callbackを使用しています。問題は、関数が時々呼び出されることです。私は、開発者用ツールを使ってブラウザでキャッシュを無効にすると、関数が常に呼び出され、それ以外の場合は時々だけ呼び出されることに気付きました。 tinyMCEを常に初期化し、同じページを複数回訪問する場合は、init_instance_callbackを呼び出すにはどうすればよいですか。tinyMCEは必ずしも初期化されていないようです

これは私のコードです:

tinyMCE.init({ 
     selector: 'textarea.mceEditor', 
     plugins: 'powerpaste code textcolor link emoticons table print preview visualchars', 
     powerpaste_word_import: 'prompt', 
     powerpaste_html_import: 'prompt', 
     powerpaste_allow_local_images: true, 
     browser_spellcheck: true, 
     fontsize_formats: "8pt 10pt 12pt 14pt 18pt 24pt 36pt", 
     forced_root_block: false, 
     toolbar1: 'forecolor backcolor undo redo styleselect bold italic alignleft aligncenter alignright alignjustify bullist numlist outdent indent', 
     toolbar2: 'link fontsizeselect', 
     paste_preprocess : function(pl, o) { 
      o.content = o.content.replace(/(<\/p>)/gi,'<br/><br/>'); 
      o.content = o.content.replace(/(<p>)/gi,''); 

     }, 
     init_instance_callback : "initAdvertDescription" 

    }); 


function initAdvertDescription() { 

     console.log(advertDescription); 
     tinyMCE.get(aspnetPrefix_Hash + "tbxDescription").setContent(advertDescription); 
} 

答えて

0

UPDATE:(私の答えを編集し、私はinit_instance_callbackもAPI V4の一部知りませんでした)

あなたが代わりにどのinitイベントを使用することができますas in the documentation

エディタが初期化された後に発生します。これは、エディタが内容で満たされた後です。

tinymce.init({ 
    ... 
    setup: function(editor) { 
     editor.on('init', function(e) { 
      console.log('init event', e); 
      editor.setContent(advertDescription); 
     }); 
    } 
}); 

TinyMCEのドキュメントは、実際の混乱し、必要な情報を見つけることは全く簡単ではありません。さらに、APIバージョン3は、バージョン4よりもはるかに優れています。読んでいるドキュメントのバージョンを注意してください。これら2つのバージョンの間には多くの変更があります。

明確に文書化するために私は個人的にthis URLを使用することをお勧めします。

関連する問題