在 JS 中复制粘贴期间保留样式。 (如何从剪贴板获取样式)

Preserving style during copy past in JS. (how get stile from clipboard)

昨天我写了一篇关于"Sliding Window" Algorithm in MicrosoftVSC editor的*.md格式的文章,后来我copy/pasted这篇来自md preview的文章(是修饰文​​,不是 Markdown 代码)到媒体编辑器。我很惊讶样式和标题都被保存了。

问题是:JS 的哪些部分识别剪贴板文本的设计?

P.S。当我在 NotepadUntitled file of MVC 中插入带有样式的复制文本时,它只是一个平面文本。 Medium编辑器是如何识别样式的,剪贴板中的数据格式是什么?

当我再次从记事本复制纯文本并将其插入到 Medium 编辑器中时,样式没有出现(它们应该出现)。但是很好奇这个样式是怎么传下来的,保存到哪里去了

这个问题的答案在DataTranswer object that holds information about paste事件中。该对象保存不同版本的已保存文本。第一个版本是 plain/text,第二个版本是 text/htmltext/html 版本包含装饰。

console.log("Checking paste operation.")
document.addEventListener('paste', function(e) {
        console.log("The Past is Happens");
        console.log(e.clipboardData.types);
        ['text/plain','text/html'].forEach( format =>{
          console.log(`Format: ${format}`);
          console.log(e.clipboardData.getData(format));
        });
    });