TinyMCE:来自Google文档的复制粘贴

时间:2012-03-29 23:44:06

标签: tinymce copy-paste google-docs

伙计,

我的公司需要支持以下工作流程: - 在Google文档中创建了丰富的内容(简单格式 - 粗体/斜体,以及超链接) - 然后将该内容粘贴到使用TinyMCE的内部CMS中。

问题:在粘贴内容时,所有格式都会丢失。

已经尝试过“从Word粘贴”插件 - 它不起作用。

请指教。谢谢!

更新: 我将问题缩小到谷歌浏览器。 Firefox工作得很好。我还使用了paste_pre_processing()回调 - 数据在进入之前被破坏了。

3 个答案:

答案 0 :(得分:3)

我最终放弃了粘贴插件到TinyMCE。相反,我使用了TinyMCE的未记录的valid_styles属性。这解决了我的方案的问题。这是我们最终使用的配置代码段:

valid_elements: "a[href|title|target],del,b,strong,del,i,blockquote,p,br,em,ul,li,ol,span[style]",
valid_styles : { '*' : 'font-weight,font-style,text-decoration' },

答案 1 :(得分:1)

你的问题是一个有点复杂的问题。

首先,您需要确保tinymce不会删除它识别为无效的标记和标记属性(仔细查看tinymce配置选项valid_elementsvalid_children)。

其次,您必须实现自己的粘贴过程处理。 有三种方法可以做到这一点。最耗时的选择是编写自己的自定义粘贴插件并替换给定的插件。其他选项是配置粘贴插件和定义自己的功能以与之交互并更改粘贴内容的方法。 有意义的paste_pre_processingpaste_post_processing是您的最佳选择。

答案 2 :(得分:0)

我知道这个问题是很久以前提出的,但是我正在制作一个需要从Google驱动器复制并粘贴到微型mce中的应用程序。使用免费粘贴插件,这实际上非常简单。只需删除过滤器,以便它可以复制所有数据。

 tinymce.init({
    selector: 'textarea',
    plugins: "paste",
    paste_data_images: true,
    paste_enable_default_filters: false,
    paste_remove_styles_if_webkit: false
 });