我们正在使用 3D CAD 应用程序,该应用程序允许将特殊格式的 3D 数据复制到剪贴板。我们现在想要将此 3D 数据(基本上它的结构为 XML)粘贴到浏览器中。
我尝试了很多 HTML5 Clipboard API,但除了文本和 HTML 之外,没有任何效果,clipboardData
始终为空...
即使我记录类型,除了文本和 HTML 之外,它也是空的:
console.log(event.clipboardData.types);
使用 event.clipboardData.getData('application/x-egr-eai-basket-cutbuffer-uncompressed')
检索数据也不起作用。
是否可以在浏览器中粘贴这样的自定义格式?
最佳答案
似乎不直接支持剪贴板的自定义数据格式。根据W3C中的规范:
如果数据类型是文本/纯文本:
- 确保每个操作系统和区域设置约定的编码正确
- 根据平台约定规范行结尾
- 将带有适当操作系统剪贴板格式描述的文本放置在剪贴板上
否则,如果数据属于强制数据类型列表中列出的类型
使用适当的操作系统剪贴板格式描述将部件放在剪贴板上
否则
这留给实现..
这对我来说意味着任何自定义类型都将被浏览器忽略。
因此,我建议简单地将 XML 作为字符串保存到剪贴板并使用 event.clipboardData.getData('text/plain')
关于javascript - HTML5剪贴板API : paste custom format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35887808/