2011-03-07 6 views
15

Estoy intentando,¿hay alguna manera de poder insertar <iframe> en tinymce?

Pero su tira: S

Mi tinymce init:

  // General options 
     tinyMCE.init({ 
     // General options 
     mode : "textareas", 
     theme : "advanced", 
     plugins : "spellchecker,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 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect", 
     theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor", 
     theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen", 
     theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage", 
     theme_advanced_toolbar_location : "top", 
     theme_advanced_toolbar_align : "left", 
     theme_advanced_statusbar_location : "bottom", 
     theme_advanced_resizing : true, 

     // Skin options 
     skin : "o2k7", 
     skin_variant : "silver", 

     // Example content CSS (should be your site CSS) 
     content_css : "css/style.css", 

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

     // Replace values for the template plugin 
     template_replace_values : { 
       username : "Some User", 
       staffid : "991234" 
     } 
}); 

Respuesta

27

que estaba buscando la misma respuesta y encontró la mayoría de los enlaces mencionados anteriormente engañosa (por ejemplo, mencionando para agregar nuevos elementos a los elementos válidos, o también cms (drupal) -driven). Así que pensé en agregar esta respuesta más directa:

En las configuraciones predeterminadas de tinyMCE, no hay iframes en settings.valid_elements, y el lugar correcto para extender/personalizarlo sería agregar nuevos elementos a la configuración.extended_valid_elements como esto:

tinyMCE.init({ 
    ... 
    extended_valid_elements : "iframe[src|frameborder|style|scrolling|class|width|height|name|align]" 
}); 

Por cierto, se puede comprobar la configuración/depuración de tinymce fácilmente dentro de la consola de Firebug o de Chrome Developer Tools. Simplemente escriba: tinyMCE.settings.extended_valid_elements, para ver si su configuración se está cargando correctamente o no.

-1

Por favor, establecer su código php en la publicación de de

'isi_content' => $this->input->post('isi',true), 

a

'isi_content' => str_replace('&lt;','<',$this->input->post('isi',true)), 
+2

Creo que su respuesta es la pregunta equivocada .. –

Cuestiones relacionadas