pro*_*ype 5 javascript clipboard copy clipboarddata
是否可以将具有特定数据风格的二进制数据放入剪贴板?即使是有黑客攻击的浏览器子集也是可以的。
在本例中,具体目标是复制 Office 对象,该对象是包含 XML 和其他嵌入文件的 ZIP 文件,具有数据风格GVML(Office 剪贴板格式)
我能找到的答案表明文本绝对是可能的。关于二进制的帖子主要是关于图像的,这也是可能的。但我没有看到有关其他数据风格的任何信息。
更新
这似乎是不可能的。以下代码在 Chrome 51、Firefox 46 和 Safari 9.0 中运行,并由 Cmd/Ctrl+C 键盘事件触发。
<b>Hello binary!</b>但作为数据风格org.chromium.web-custom-data并custom/binary在文本中嵌入零填充的十六进制。<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”
https://www.lucidchart.com/techblog/2014/12/02/definitive-guide-copying-pasting-javascript/