clipboard.write 在 Chrome 中抛出错误“写入时不支持类型 application/json”

问题描述 投票:0回答:2
const json = JSON.stringify(item);
const data = [
  new ClipboardItem({'application/json': new Blob([json])})
];
await navigator.clipboard.write(data);

错误是“DOMException:写入时不支持类型 application/json。”

我做错了什么?

javascript google-chrome clipboard
2个回答
0
投票

正如 Konrad 在评论中提到的,不支持

application/json
。解决方案是将其写入文件中,然后使用
application/json
:

const json = JSON.stringify(item);
const file = new File([json], 'item.json', { type: 'application/json' });
const data = [new ClipboardItem({'application/json': file})];
await navigator.clipboard.write(data);

Blob 可以与

text/plain
一起使用。


0
投票

试试这个

https://developer.chrome.com/blog/web-custom-formats-for-the-async-clipboard-api

const json = JSON.stringify(item);
const data = [
  new ClipboardItem({'web application/json': new Blob([json])})
];
await navigator.clipboard.write(data);
© www.soinside.com 2019 - 2024. All rights reserved.