TinyMCE 4.xにアップグレードし、AJAX経由で読み込まれたテキストエリアでtinyMCEを初期化しようとしています。 3.xで私は次のようなことをしました: TinyMCE-AJAX calls を介して読み込まれたdivにアタッチしますが、これは4.xで動作します。
tinymce.remove();
tinymce.init();
これはうまくいきます!
TinyMCE4.xmceRemoveControlおよびmceAddControl削除されました。代わりにmceRemoveEditorとmceAddEditorを使用する必要があります。
それを手に入れました: [解決済み] mceRemoveControlおよびmceAddControl in tinymce 4
それ以外の場合は、tinymce.init({...})を再ロードできますが、速度が低下するため、この方法は望ましくありません。
次のコードを使用してtextareaをインクルードした後、TinyMCEをロードできます。
//initialize tinyMCE in page
tinymce.init({selector:'textarea'});
ちょうど同じ問題に遭遇したときだけです。
Initスクリプトをこのような関数にラップすることで問題を解決しました。
私のinit.jsファイル
initializeTinyMce();
function initializeTinyMce(selector){
if(selector == undefined){selector = 'textarea';}
...
tinymce.init({
selector: selector,
...
});
}
ajaxリクエストの結果に追加します
<script type="text/javascript">
$(document).ready(function(){
initMCE('textarea#someId');
});
</script>
私にとってはうまくいきます
tinymce.init({selector: 'textarea'});
これをajaxで使用し、値を選択できない場合は、フォームを送信する前に、
tinyMCE.triggerSave();