昨天我在MicrosoftVSC编辑器中以*.md
格式写了一篇关于“滑动窗口”算法的文章,后来我从md preview复制/粘贴了这篇文章(这是一个装饰文本,而不是 Markdown 代码)对于中等编辑器。我很惊讶样式和标题被保存了。
问题是:JS 的哪些部分可以识别剪贴板中文本的设计?
附注当我在 Notepad
或 Untitled file of MVC
中插入带有样式的复制文本时,它只是一个平面文本。 Medium
编辑器如何识别样式,剪贴板中的数据格式是什么?
当我再次从记事本复制此纯文本并将其插入到 Medium 编辑器中时,样式不会出现(它们应该出现)。但很好奇这些样式是如何传递的以及它们保存在哪里。
最佳答案
这个问题的答案在 DataTranswer包含有关 paste 的信息的对象事件。该对象保存已保存文本的不同版本。第一个版本是 plain/text
第二个版本是 text/html
。 text/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));
});
});
关于javascript - 在 JS 中复制粘贴时保留样式。 (如何从剪贴板获取样式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60125746/