【问题标题】:TinyMCE: Copy-Paste from Google DocsTinyMCE:从 Google Docs 复制粘贴
【发布时间】:2019-05-28 11:11:38
【问题描述】:

伙计们,

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

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

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

请指教。谢谢!

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

【问题讨论】:

  • +1 好问题,但不是一个简单的问题。您能告诉我们粘贴到编辑器中的内容吗?您是如何配置 tinymce 的?
  • 我在从 Google 文档粘贴时也遇到了问题。有时,在粘贴或提交到 DB 时,内容只会被“删除”。刚才测试了一些,好像还可以,但是感觉不靠谱,是个问题。到目前为止运气好吗?

标签: tinymce copy-paste google-docs


【解决方案1】:

我最终放弃了在 TinyMCE 中使用粘贴插件。相反,我使用了 TinyMCE 未记录的 valid_styles 属性。这解决了我的场景的问题。这是我们最终使用的配置 sn-p:

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' },

【讨论】:

  • 所以让粘贴工作的解决方案是删除粘贴插件。惊人。以上对我也有用。非常感谢!
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    你的问题有点复杂。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-25
      • 2015-07-11
      相关资源
      最近更新 更多