Как настроить Tinymce, чтобы разрешить вставлять теги при редактировании html?

Я хочу, чтобы пользователи могли копировать и вставлять теги для видео (youtube, vimeo и т.д.) в html-редактор tinymce. Я пробовал каждое решение, которое я могу найти в Интернете - однако tinymce всегда удаляет любые теги для встраивания в код встраивания видео, когда я нажимаю update в редакторе html.

Вот мой текущий tinymce init script:

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 "очистить" функциональность (cleanup: false)... которую я не хочу делать... тогда все работает по желанию

Я пробовал много версий extended_valid_elements и других параметров, но ничего не нашел. Что я делаю не так?

Спасибо заранее, Шейн

Ответы

Ответ 1

Для чего это стоит - после многих ошибок и ошибок я узнал, что вы должны включить медиа-плагин, чтобы заставить media_strict работать. Если это документировано где-то, я, должно быть, пропустил это. Ниже приведен обновленный init script, который позволил мне вставлять теги embed через редактор html в tinymce:

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

Ответ 2

Если вы пытаетесь достичь этого из плагина tinymce, следующий код может сделать трюк в разделе инициализации плагинов.

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[*]');
            });

Это взято из медиа-плагина.

Ответ 3

FYI, у меня также есть iFrame fix, если вы планируете включать GOOGLE MAPS, например.

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