2

私は asp.net アプリで TinyMCE を使用しており、サーバー上のテキストエリアのコンテンツを設定しています。問題は、ページが読み込まれるとすぐに、エディターが初期化されるまでの短い間、生の HTML がテキストエリアに表示されることです。textareas で display:none を設定してから、oninit ルーチンの各テキスト領域で .next().show() を呼び出してみましたが、これは機能しますが、エディターが必要なサイズではないことを除きます (おそらく、基になるエディターが初期化されたときに textarea は非表示でしたか?)

他の人はこの問題をどのように解決しましたか?

ありがとう

4

2 に答える 2

0

この質問に出くわしたばかりで、ソリューションを次のように残すことにしました。

//Before loading, hide textarea element using visibility='hidden' so that the space the element takes will be maintained
document.querySelector('.editor').style.visibility = 'hidden';

tinyMCE.init({
    editor_selector: "editor",
    setup: function (ed) {
        ed.onInit.add(function (ed, evt) {
            //show the element again now that the editor is loaded.
            document.querySelector('.editor').style.visibility = 'visible';
        });
    }
});
于 2015-11-09T20:01:49.050 に答える
0

textarea コンテンツを保存し、それを空に設定して、エディターが初期化された後に tinymce コンテンツをリセットできます。

var content = $('textarea_id').html();
$('textarea_id').html('');

tinyMCE.init({
   ...
   setup : function(ed) {
    ed.onInit.add(function(ed, evt) {
           ed.setContent(content);
        });
   },
   ...

});
于 2012-10-29T08:57:40.347 に答える