javascript - HTML5剪贴板API : paste custom format

标签 javascript html clipboard clipboarddata

我们正在使用 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中的规范:

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

  1. 确保每个操作系统和区域设置约定的编码正确
  2. 根据平台约定规范行结尾
  3. 将带有适当操作系统剪贴板格式描述的文本放置在剪贴板上

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

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

否则

这留给实现..

这对我来说意味着任何自定义类型都将被浏览器忽略。 因此,我建议简单地将 XML 作为字符串保存到剪贴板并使用 event.clipboardData.getData('text/plain')

检索它

关于javascript - HTML5剪贴板API : paste custom format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35887808/

相关文章:

PHP 包括更改 HTML 布局吗?

python - Pandas 从剪贴板读取带有日期时间列的 DataFrame

python - 获取其他应用程序中选定的文本

javascript - CSS3 Transform Matrix3D 动画故障,为什么?

javascript - 获取用户选择的起点和终点

html - 使用 CSS 改变背景的亮度

javascript - 使剪贴板复制粘贴在 iphone 设备上工作

javascript - async.parallel 中的回调如何工作(它来自哪里?)

javascript - 通过 JavaScript 获取页面的 HTML 源代码并覆盖它

html - Chrome 18 无法在禁用的多选框中查看所选文本