web-dev-qa-db-ja.com

Tinymceに<iframe>を挿入できる方法はありますか?

私はしようとしています、

しかし、それはその:Sを取り除きます

私のTinymceinit:

           // 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"
        }
});
17

私は同じ答えを探していましたが、上記のリンクのほとんどが誤解を招くことがわかりました(たとえば、valid_elementsに新しい要素を追加すること、またはcms(drupal)駆動型であることに言及している)。だから私はこのより直接的な答えを追加することを考えました:

TinyMCEのデフォルト設定では、settings.valid_elementsにiframeはありません。拡張/カスタマイズする適切な場所は、次のようにsettings.extended_valid_elementsに新しい要素を追加することです。

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

ところで、FirebugまたはChromeの開発者ツールのコンソール内でtinyMCEの設定を簡単にチェック/デバッグできます。次のように入力するだけです:tinyMCE.settings.extended_valid_elements、設定が正しくロードされているかどうかを確認します。

30
andzep