在编辑html时如何配置Tinymce以允许嵌入标签?

时间:2010-04-12 20:03:38

标签: tinymce embed

我希望用户能够将视频(youtube,vimeo等)的嵌入标签复制并粘贴到tinymce的html编辑器中。我已经尝试了我可以在互联网上找到的所有解决方案 - 但是当我在html编辑器中按下更新时,tinymce总是会删除视频嵌入代码中的任何嵌入标签。

这是我目前的tinymce初始化脚本:

tinyMCE.init({
    mode: "textareas",
    valid_elements: "*[*]",
    extended_valid_elements: "embed[width|height|name|flashvars|src|bgcolor|align|play|loop|quality|allowscriptaccess|type|pluginspage]",
    theme: "advanced",
    theme_advanced_buttons1: "code",
    media_strict: false
});

如果我关闭tinymce的“清理”功能(清理:假)...我不想做...那么一切都按预期工作

我尝试了很多版本的extended_valid_elements和其他选项但发现没有任何效果。我究竟做错了什么?

提前致谢, 沙恩

3 个答案:

答案 0 :(得分:17)

对于它的价值 - 经过多次跟踪和错误后,我了解到必须包含媒体插件才能使media_strict正常工作。如果在某处记录这一点,我肯定错过了它。这是一个更新的init脚本,允许我通过tinymce中的html编辑器插入嵌入标签:

tinyMCE.init({ 
    mode: "textareas",      
    plugins: "media",
    theme: "advanced", 
    theme_advanced_buttons1: "code", 
    media_strict: false 
}); 

众所周知,这与tinymce ver 3.2.5& 3.3.8 - 但如下所述,可能存在tinymce ver 3.3.5的问题

答案 1 :(得分:3)

如果您正试图通过tinymce插件实现此目的,那么以下代码可以在插件init部分中完成这一操作。

ed.onPreInit.add(function() {
              // Allow video elements
              ed.schema.addValidElements('object[id|style|width|height|classid|codebase|*],param[name|value],embed[id|style|width|height|type|src|*],video[*],audio[*],source[*]');
            });

这是从媒体插件中获取的。

答案 2 :(得分:1)

仅供参考,如果您打算包括GOOGLE MAPS,我也有iFrame fix

extended_valid_elements: "iframe[src|width|height|name|align], embed[width|height|name|flashvars|src|bgcolor|align|play|loop|quality|allowscriptaccess|type|pluginspage]",