Tyne MCE com suporte a iframe e javascripts

Muitos CMSs como Joomla, Codeclick, BSCMS utilizam o editor wyswyg TyneMCE como editor padrão. A questão é que por padrão o editor não dá suporte a inserção de iframes e javascripts.

O grande problema é que hoje em dia a maioria dos embeddeds de vídeo são em formato de iframe como é o caso do Youtube, Vimeo, Videolog entre outros.

Para habilitar o o suporte a iframe e scripts no TyneMCE você deve adicionar a linha abaixo em sua chamada de configuração de ambiente de javascript do editor:

extended_valid_elements : \”a[class|name|href|target|title|onclick|rel],script[type|src],iframe[src|style|width|height|scrolling|marginwidth|marginheight|frameborder],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]\”,

A chamada ficaria algo como o exemplo abaixo

<script type=\”text/javascript\” src=\”bs.includes/editor/jscripts/tiny_mce/tiny_mce.js\”></script>
<script type=\”text/javascript\”>
tinyMCE.init({
// General options
remove_script_host : false,
convert_urls : false,
mode : \”exact\”,
elements : \”elm1\”,
theme : \”advanced\”,

plugins : \”safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template\”,

// Theme options
theme_advanced_buttons1 : \”newdocument,preview,code,image,cut,copy,paste,pastetext,pasteword,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,formatselect,fontsizeselect,forecolor,backcolor,charmap\”,
theme_advanced_buttons2 : \”link,unlink,anchor,hr,fullscreen,tablecontrols,bullist,numlist,|,blockquote,|,removeformat,sub,sup,pagebreak,advhr,print,media\”,
theme_advanced_buttons3 : \”\”,
theme_advanced_toolbar_location : \”top\”,
theme_advanced_toolbar_align : \”left\”,
theme_advanced_statusbar_location : \”bottom\”,
theme_advanced_resizing : true,
<strong>extended_valid_elements : \”a[class|name|href|target|title|onclick|rel],script[type|src],iframe[src|style|width|height|scrolling|marginwidth|marginheight|frameborder],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]\”,</strong>

// Example content CSS (should be your site CSS)
content_css : \”css/content.css\”,

// Drop lists for link/image/media/template dialogs
template_external_list_url : \”lists/template_list.js\”,
external_link_list_url : \”lists/link_list.js\”,
external_image_list_url : \”lists/image_list.js\”,
media_external_list_url : \”lists/media_list.js\”,

// Replace values for the template plugin
template_replace_values : {
username : \”Some User\”,
staffid : \”991234\”
}
});
</script>