【发布时间】:2020-08-27 14:29:55
【问题描述】:
我想将文本和 html 写入用户剪贴板。我正在使用来自 MDN 的代码 sn-p:https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/write
navigator.permissions.query({ name: 'clipboard-write' }).then(result => {
if (result.state === 'granted') {
let data = [new ClipboardItem({ "text/plain": message })];
navigator.clipboard.write(data).then(function() {
$.growl.notice({ message: ResourceService.getKey("CopyToClipboardSuccess"), location: "tc", title: "" });
}, function() {
$.growl.error({ message: ResourceService.getKey("CopyToClipboardError"), location: "tc", title: "" });
});
}
});
我得到的只是这个错误:
Uncaught (in promise) TypeError: Failed to construct 'ClipboardItem': Failed to convert value to 'Blob'.
还有其他方法可以将文本和 HTML 复制到剪贴板。我错过了什么?
【问题讨论】:
-
能否给出
message变量的类型和内容?第三行好像不能转成blob。 -
另外,您使用的是什么浏览器? Clipboard API 在撰写本文时只是一个草稿,似乎只有 Chrome 完全支持它(
ClipboardItem)。 developer.mozilla.org/en-US/docs/Web/API/… -
我正在使用最新的 Chrome 并且消息是一个字符串
标签: javascript google-chrome clipboard