我们正在使用3D CAD应用程序,它允许以特殊格式将3D数据复制到剪贴板。我们现在想要在浏览器中粘贴这个3D数据(基本上它是结构化为XML)。
我尝试了很多HTML5剪贴板API,但除了文字和HTML之外没有任何作用,clipboardData
总是空白......
即使我记录了类型,除了文本和HTML之外,它还是空的:
console.log(event.clipboardData.types);
使用event.clipboardData.getData('application/x-egr-eai-basket-cutbuffer-uncompressed')
检索数据也不起作用。
甚至可以在浏览器中粘贴这样的自定义格式吗?
答案 0 :(得分:1)
似乎不直接支持剪贴板的自定义数据格式。根据{{3}}中的规范:
如果数据类型是text / plain:
否则,如果数据属于强制数据类型列表中列出的类型
使用适当的OS剪贴板格式说明将部件放在剪贴板上
,否则强>
这是留给实施的。
这表明浏览器会忽略任何自定义类型。
因此,我建议只需将XML作为字符串保存到剪贴板并使用event.clipboardData.getData('text/plain')