TinyMCE - 当 copying/pasting 内容时自动插入附加属性?

TinyMCE - automatically insert additional attributes when copying/pasting content?

有没有办法将 TinyMCE 配置为在将内容复制和粘贴到文本区域时自动插入附加属性?

就我而言,我有一个文本区域,我 copy/paste 包含文本和图像。插入图像时,我想自动将 img 标签标记为具有特定的 CSS class(以确保它们是流畅的)。

我使用的是 Django TinyMCE,这有什么不同。有没有人成功实现这种行为?

TinyMCE Paste 插件可以让您在粘贴过程中预先或 post 处理内容。

我建议使用 postprocess API,因为这允许 Paste 插件首先进行清理。

https://www.tinymce.com/docs/plugins/paste/#paste_postprocess

例如,您可以在您的 TinyMCE init 中执行类似的操作(这不是您想要执行的操作,我只是从一个项目中得到了这个示例):

paste_postprocess: function(editor, fragment) {
    var allElements = fragment.node.getElementsByTagName("td");
    for (i = 0; i < allElements.length; ++i) {
      console.log('initial font family: ', allElements[i].style.fontFamily);

      var st = allElements[i].style;
      stCleaned = st.fontFamily.replace("sans-serif", "").replace("Calibri", "Arial");
      st.fontFamily = stCleaned; // Indirectly
  }
}

...然后每次 Paste 插件获取 运行 时,您的代码将在其后获取 运行,您可以根据需要操作粘贴的内容。