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,而在于我们如何从活动编辑器中获取内容。我们使用 jquery 的$.html()方法而不是使用 TinyMce 的tinyMCE.activeEditor.getContent()方法检索内容。

我最初遇到这篇文章谈论的是我遇到的图像标签未输出为 xhtml 的相同问题。这使我看到了这个堆栈帖子,它解释了为什么它不起作用。

引用其中一个答案

.html() 不返回为创建节点而提供的 HTML 或 XHTML 标记,它返回浏览器的相关节点的内部表示。这种内部表示不符合 XHTML,也并非如此——从技术上讲,它是一个内部实现细节。

于 2012-12-26T17:08:40.487 回答
2

这是 TinyMCE 代码本身的一个问题。

它从未打算与 XHTML 一起使用——如果您确实想与它一起使用,那么您必须编辑核心。

这是一篇文章,可能会强调如何在 TinyMCE 中使用严格的 XHTML

于 2012-12-26T16:03:50.233 回答