3

Tinymceは私のimg終了タグを削除し、無効なxhtmlを生成しています。

これを回します

<img src="image.jpg" />

これに

<img src="image.jpg" data-mce-src="/../Index/image.jpg">

私もcodemagicを使用していますが、htmlを表示するとまだ表示されます。を含めてみ<img></img>ましたが、出力は同じです。

考え?

これが私のオプションです

var tinyMceOptions = {
    mode: 'textareas',
    theme: 'advanced',
    element_format : "xhtml",
    plugins: 'codemagic,wordcount,inlinepopups,sparkimage, sparklink',
    theme_advanced_buttons1: 'formatselect,fontsizeselect,|, bold,italic,underline,|,bullist,numlist,|,outdent,indent,blockquote,|,forecolor,backcolor,|,justifyleft,justifycenter,justifyright,|,sub,sup,|,sparklink,sparkimage,codemagic',
    theme_advanced_buttons2: '',
    theme_advanced_buttons3: '',
    theme_advanced_toolbar_location: 'top',
    theme_advanced_toolbar_align: 'left',
    theme_advanced_resizing: true,
    theme_advanced_statusbar_location: "bottom",
    valid_elements: "*[*]",
    //extended_valid_elements :"script[language<javascript|type|src]",
    skin: 'o2k7',
    width: '575px',
    height: '350px',
    forced_root_block : false,
    theme_advanced_blockformats: 'h1,h2,h3,h4,h5,h6,p',
    relative_urls : false,
    setup : function (ed) {
        ed.onChange.add(function (ed, evt) {
            var val = $('iframe#_contentAreaID_ifr').contents().find('body').html();
                $('._hiddenContentContainer[data-contentid=' + currentTab + '] ._hiddenContentArea').val(val);
            }
        );
    }
};
4

2 に答える 2

2

これはTinyMCEコード自体の問題です。

XHTMLで使用することを意図したものではありませんでした。それを使用したい場合は、コアを編集する必要があります。

TinyMCEで厳密なXHTMLを使用する方法を強調する可能性のある記事があります

于 2012-12-26T16:03:50.233 に答える
2

問題はTinyMCEにあるのではなく、アクティブなエディターからコンテンツを取得する方法にありました。$.html()TinyMceのメソッドを使用してコンテンツを取得する代わりに、jqueryのメソッドを使用しましたtinyMCE.activeEditor.getContent()

私は最初、画像タグがxhtmlとして出力されなかった場合に発生しているのと同じ問題について話しているこの投稿に出くわしました。これは、なぜそれが機能しないのかを説明するこのスタック投稿に私を導きました。

答えの1つから引用

.html()は、ノードを作成するために提供されたHTMLまたはXHTMLマークアップを返しません。関連するノードの、ブラウザーの内部表現を返します。この内部表現はXHTMLに準拠しておらず、技術的には内部実装の詳細になっています。

于 2012-12-26T17:08:40.487 に答える