5

是否可以将具有特定数据风格的二进制数据放入剪贴板?即使是带有黑客攻击的浏览器子集也可以。

在这种情况下,具体目标是复制一个 Office 对象,它是一个包含 XML 和其他嵌入文件的 ZIP 文件,具有数据风格GVMLOffice 剪贴板格式

我能找到的答案表明 text is text 绝对是可能的。关于二进制的帖子大多是关于图像的,这也是可能的。但我没有看到任何关于其他数据风格的信息。

更新

看来这可能是不可能的。以下代码在 Chrome 51、Firefox 46 和 Safari 9.0 中运行,由 Cmd/Ctrl+C 键盘事件触发。

  • Firefox 仅将文本和 html 复制到剪贴板
  • Chromium 复制<b>Hello binary!</b>但作为数据风格org.chromium.web-custom-data并在文本中嵌入custom/binary零填充的十六进制。
  • Safari 复制<b>Hello binary</b>为数据风格dyn.ah62d4rv4gu81k3p2su10e4psqf3hw,根本不包括在内custom/binary

document.addEventListener('copy', function(e){ e.clipboardData.setData('text/plain', 'Hello, world!'); e.clipboardData.setData('text/html', '<b>Hello, html!</b>'); e.clipboardData.setData('custom/binary', '<b>Hello, binary!</b>'); e.preventDefault(); });

以上代码来自https://www.w3.org/TR/clipboard-apis/的“示例 1”

如何在 JavaScript 中复制到剪贴板?

https://www.lucidchart.com/techblog/2014/12/02/definitive-guide-copying-pasting-javascript/

4

0 回答 0