2

TinyMCE がポップアップしているときに、TinyMCE に問題が発生しました。この問題についての私の説明を見てください。

このコードは JSON ポップアップにあります

<!-- TinyMCE -->
<script type="text/javascript" src="../../Scripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
    tinyMCE.init({
        mode: "textareas",
        theme: "simple"
    });
</script>
<!-- Gets replaced with TinyMCE, remember HTML in a textarea should be encoded -->
<textarea id="elm1" name="elm1" rows="8" cols="80" style="width: 80%">
        Pełny opis...
    </textarea>
<br />

初めてポップアップが表示されると、このエディターが表示されます

ここに画像の説明を入力

ポップアップが 2 回目に表示されると、このエディタが表示されます

ここに画像の説明を入力

私の意見では、問題はここにあります(このJSが機能しているのは1回だけです)

 <script type="text/javascript">
        tinyMCE.init({
            mode: "textareas",
            theme: "simple"
        });
    </script>
4

1 に答える 1

2

2 番目のケースでは、textarea html 要素が表示されます。これはおそらく、最初のポップアップを閉じるときに tinymce を正しくシャットダウンしなかったことが原因です。カーテンの後ろで起こったことは、html 構造がなくなったことですが、tinymce はまだエディター インスタンスを登録しており、ポップアップを再度開いたときに同じ ID を持つ新しいものを開くことはありません。ここでの解決策は、ポップアップを閉じるときに tinymce をシャットダウンすることです。

エディター インスタンスをシャットダウンするには、次を使用します。

tinymce.execCommand('mceRemoveControl',true,'your_editor_id');

使用を再初期化するには

tinymce.execCommand('mceAddControl',true,'your_editor_id');

Tinymce は、ソース html 要素 (テキストエリア) の ID をエディター ID として取得します。何もない場合は、「コンテンツ」がデフォルトです。

于 2013-03-21T12:51:54.707 に答える