3

テキストエリアにコンテンツがプリロードされている場合、新しい行が「br」タグに変換されます。

しかし、setContent 関数を使用してコンテンツを動的に (貼り付けではなく) tinymce テキストエリアに設定しようとすると、新しい行が欠落します。

私はv.3.4.7を使用し、v.3.5.6(最新のもの)を試しましたが、ページの読み込みでも新しい行が削除されました。

<script type="text/javascript">
    tinyMCE.init({
        mode: "textareas",
        editor_selector: "EmailBody",
        theme: "advanced",
        language: "en",
        charLimit: 10,
        plugins: "table,advhr,advlink,insertdatetime,preview,print,contextmenu,paste,directionality",
        theme_advanced_buttons1_add: "fontselect,fontsizeselect",
        theme_advanced_buttons2_add: "separator,insertdate,inserttime,preview,zoom,separator,forecolor,backcolor",
        theme_advanced_buttons2_add_before: "pastetext,pasteword,separator",
        theme_advanced_buttons3_add_before: "tablecontrols,separator",
        theme_advanced_buttons3_add: "advhr,separator,ltr,rtl,separator",
        theme_advanced_toolbar_location: "top",
        theme_advanced_toolbar_align: "left",
        theme_advanced_statusbar_location: "bottom",
        plugi2n_insertdate_dateFormat: "%Y-%m-%d",
        plugi2n_insertdate_timeFormat: "%H:%M:%S",
        paste_use_dialog: false,
        theme_advanced_resizing: false,
        theme_advanced_resize_horizontal: true,
        paste_auto_cleanup_on_paste: true,
        paste_convert_headers_to_strong: false,
        paste_remove_spans: true,
        width: "100%",
        paste_remove_styles: true,
        valid_elements: "a[href|target=_blank],strong/b,div[align],p,br,i,u",
        content_css: "/css/tinymce_bigger_default_font.css",
        forced_root_block: false,
        force_br_newlines: true,
        force_p_newlines: false,
        apply_source_formatting: false,
        remove_linebreaks: false,
        convert_newlines_to_brs: true
    });
</script>

function Click()
{
    var text = document.getElementById("preText").innerText;
    tinyMCE.activeEditor.setContent(text);
}

<pre id="preText">Text

Text
</pre>

結果は次のようになります。

Text

Text

しかし、代わりに私は得る:

TextText
4

4 に答える 4

9

新しい行を最初のコンテンツセットの改行に置き換える方法:

convert_newlines_to_brsおよびremove_linebreaksパラメータがtinymceから削除されました(tinymceソースコードを確認してください)。

機能を復元convert_newlines_to_brsするには、次のコードを使用します(以前のバージョンのtinymceから取得したものです)。

tinyMCE.init({
    setup : function(ed) {
        ed.onBeforeSetContent.add(function(ed, o) {
            if (o.initial) {
                o.content = o.content.replace(/\r?\n/g, '<br />');
            }
        });
    }
});
于 2013-01-14T03:46:53.383 に答える
4

これについては私の解決策を参照してください。私は小さなフィドルを作成しました: http://fiddle.tinymce.com/vTbaab

于 2012-08-08T11:32:13.067 に答える
0

あなたがする必要があるのは、追加することだけです

tinyMCE.init({
        ...
        remove_linebreaks : false
});

これは、彼らのヘルプにうまく文書化されています。

于 2014-03-03T07:21:20.720 に答える
0

これを機能させるために、他にも多くのことを試しました。これは、元の開発者が投稿タイプを適切に宣言していないことが原因です。

前:

'supports' => array('title','slug'),

後:

'supports' => array('title','slug','editor'),
于 2014-04-14T18:29:50.210 に答える