2

我们正在使用 3D CAD 应用程序,它允许以特殊格式将 3D 数据复制到剪贴板。我们现在想在浏览器中粘贴这个 3D 数据(基本上它的结构是 XML)。

我用 HTML5 Clipboard API 做了很多尝试,但除了文本和 HTML 没有任何作用,clipboardData总是 emtpy ......

即使我记录类型,除了文本和 HTML,它也是空的: console.log(event.clipboardData.types);

检索数据event.clipboardData.getData('application/x-egr-eai-basket-cutbuffer-uncompressed')也不起作用。

甚至可以在浏览器中粘贴这样的自定义格式吗?

4

1 回答 1

2

似乎不直接支持剪贴板的自定义数据格式。根据W3C中的规范:

如果数据类型是文本/纯文本:

  1. 确保每个操作系统和语言环境的编码都是正确的
  2. 根据平台约定规范化行尾
  3. 使用适当的操作系统剪贴板格式描述将文本放在剪贴板上

否则,如果数据属于强制数据类型列表中列出的类型

使用适当的操作系统剪贴板格式描述将部件放在剪贴板上

否则

这留给实施..

这向我表明,任何自定义类型都将被浏览器忽略。因此,我建议只需将 XML 作为字符串保存到剪贴板并使用event.clipboardData.getData('text/plain')

于 2016-03-09T10:45:14.653 回答