2

下面是我当前的 Tinymce 配置,它将删除所有样式/格式/html 标签并粘贴为纯文本,但我的客户希望将表格粘贴到其中。所以我想改进我的tinymce,以便在我们从ms word复制和粘贴时能够(仅)粘贴表格。

tinyMCE.init({
            theme: "advanced",
            mode: "exact",
            elements: "txtTextbox1",
            plugins : "paste,table,directionality,preview,iespell,wordcount,style",        
            theme_advanced_buttons1: "bold,italic,underline,|,cut,copy,paste,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,undo,redo,|,preview,iespell",
            theme_advanced_buttons2: "tablecontrols,|,link,unlink",
            //theme_advanced_buttons3: "tablecontrols,|,link,unlink",
            theme_advanced_toolbar_location: "top",
            theme_advanced_toolbar_align: "left",
            theme_advanced_statusbar_location: "bottom",
            force_p_newlines: false,
            force_br_newlines: true,
            forced_root_block: '',
            paste_convert_middot_lists: false,
            paste_text_sticky: true,
            paste_strip_class_attributes: "all",
            paste_remove_styles: true,
            paste_remove_spans: true,
            paste_block_drop: true,
            paste_text_sticky_default: true,

            setup: function (ed) {
                ed.onInit.add(function (ed) {
                    ed.pasteAsPlainText = true;
                    ed.controlManager.setActive("pastetext", true);
                });
            }
        });

下面编辑 的是我的最终代码

tinyMCE.init
        ({
            theme: "advanced",
            mode: "exact",
            elements: "txtTextbox1",
            plugins : "paste,table,directionality,preview,iespell,wordcount,style",        
            theme_advanced_buttons1: "bold,italic,underline,|,cut,copy,paste,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,undo,redo,|,preview,iespell",
            theme_advanced_buttons2: "tablecontrols,|,link,unlink",
            theme_advanced_toolbar_location: "top",
            theme_advanced_toolbar_align: "left",
            theme_advanced_statusbar_location: "bottom",
            force_p_newlines: false,
            force_br_newlines: true,
            forced_root_block: '',
            paste_convert_middot_lists: false,            

            paste_preprocess : function(pl, o) 
            {  
                o.content = strip_tags( o.content,'<table><tr><td>' );
            },            
        });


function strip_tags (str, allowed_tags)
{
}
4

2 回答 2

2

解决方案是使用 paste_preprocess。在这个 SO-thread 中,您将找到一种粘贴为纯文本的方法,但要保持表格定义、、、、table在粘贴时不被剥离tbodytdtr

于 2012-11-07T15:09:01.080 回答
1

我找到了复制的解决方案 - 粘贴 tinyMCE 4.0

如果您使用此基本示例源

<script type="text/javascript">
tinymce.init({
    selector: "textarea",
    plugins: [
        "advlist autolink lists link image charmap print preview anchor",
        "searchreplace visualblocks code fullscreen",
        "insertdatetime media table contextmenu paste moxiemanager"
    ],
    toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"
});
</script>

从插件部分删除“粘贴”选项;

像这样;

   plugins: [
        "advlist autolink lists link image charmap print preview anchor",
        "searchreplace visualblocks code fullscreen",
        "insertdatetime media table contextmenu moxiemanager"
    ],

现在您可以将(所有 ms 字、html 页面等)粘贴到 tinyMCE 编辑器

也许,可能会有所帮助

于 2013-08-14T11:11:36.900 回答