0

我使用 tinymce(3.5.8 版本)编辑器作为 html5 编辑器。现在我想要添加视频和音频标签的功能。

功能 doTinyMCECleanUp(frm, id) {

var c = frm[id].value;

c = c.replace(/ </source>/gim, '');

c = c.replace(/</source>/gim, '');

// 如果 'html' 不是 'xhtml' 则注释掉

c = c.replace(/]*)>/gim, '');

frm[id].value = c;

}

tinyMCE.init({

     mode : "textareas",
    theme : "advanced",
    plugins : "visualblocks,inlinepopups,mediahtml5,media",
    theme_advanced_buttons1 : "bold,italic,underline,strikethrough,styleselect,justifyleft,justifycenter,justifyright,justifyfull,|,visualblocks,code,mediahtml5,media",
    theme_advanced_buttons2 : "",
    theme_advanced_buttons3 : "",
    theme_advanced_buttons4 : "",
    theme_advanced_toolbar_location : "top",
    theme_advanced_toolbar_align : "left",
    theme_advanced_statusbar_location : "bottom",
    theme_advanced_resizing : true,
    content_css : "/js/tinymce/examples/css/content.css",
    visualblocks_default_state: true,
    extended_valid_elements : "video[*]",

    // Schema is HTML5 instead of default HTML4
    schema: "html5",

       template_external_list_url : "tinymce/examples/lists/template_list.js",
   external_link_list_url : "tinymce/examples/lists/link_list.js",
   external_image_list_url : "tinymce/examples/lists/image_list.js",
   media_external_list_url : "tinymce/examples/lists/media_list.js",

    // End container block element when pressing enter inside an empty block
    end_container_on_empty_block: true,



    // HTML5 formats
    style_formats : [
            {title : 'h1', block : 'h1'},
            {title : 'h2', block : 'h2'},
            {title : 'h3', block : 'h3'},
            {title : 'h4', block : 'h4'},
            {title : 'h5', block : 'h5'},
            {title : 'h6', block : 'h6'},
            {title : 'p', block : 'p'},
            {title : 'div', block : 'div'},
            {title : 'pre', block : 'pre'},
            {title : 'section', block : 'section', wrapper: true, merge_siblings: false},
            {title : 'article', block : 'article', wrapper: true, merge_siblings: false},
            {title : 'blockquote', block : 'blockquote', wrapper: true},
            {title : 'hgroup', block : 'hgroup', wrapper: true},
            {title : 'aside', block : 'aside', wrapper: true},
            {title : 'figure', block : 'figure', wrapper: true}
    ],

  setup : function(ed) {
  ed.onSubmit.add(function(ed, e) {
     doTinyMCECleanUp(e.target, ed.id);
  });

},

});

我用 2 个插件 mediahtml5 和媒体尝试了很多。

当我使用媒体插件时。如果我添加视频标签,它会插入带有视频标签的 flashobject。而且当我更新内容时,视频标签也会消失。我在任何 html 源代码编辑器中都看不到它。我只能看到 Flash 对象源。

当我使用 mediahtml5 插件时,我可以将视频添加到编辑器中,但看不到 html 视图源编辑器。

谁能帮帮我。

4

2 回答 2

0

查看tinymce 设置valid_elements 和valid_children。Tinymce 提示与配置不匹配的 html 标签/无效。

于 2012-11-30T09:59:19.750 回答
0

将“extend_valid_elements”添加到您的微型 mce 初始化中。例如:

$('#my_textarea').tinymce({
  ...
  extended_valid_elements: "audio[id|class|src|type|controls]",
  ...
})

上面的示例允许您在微型 mce 编辑器中插入具有所需元素属性的“音频”标签。

注意:我使用的是 tiny mce jquery 插件,但对于常规的 tiny mce 来说是一样的。

于 2013-01-05T14:16:05.947 回答