小编arm*_*ant的帖子

navigator.clipboard.write : 'Clipboard': Iterator getter 不可调用

我正在尝试navigator.clipboard.write(blob)将 DOMString 复制到剪贴板。我可以使用clipboard.writeText('text')并复制它,但我需要 text/html。

失败的例子:

const copy = async () => {
 await navigator.permissions.query({name: "clipboard-write"}).then(result => {
    if (result.state == "granted" || result.state == "prompt") {
        const data = new Blob(['<div>test</div>'], {type : 'text/html'})
        navigator.clipboard.write(data);
    }
})}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,出现以下错误:

Uncaught (in promise) TypeError: Failed to execute 'write' on 'Clipboard': Iterator getter is not callable。

我也尝试将 text/html 更改为 text/plain,我认为这会使它的功能与 writeText 相同,但没有。

然后我尝试将 blob 包装在我从另一个问题中找到的新 ClipboardItem 中:

const data = new Blob(['<div>test</div>'], {type: 'text/html'})
const item = new ClipboardItem({'text/html': …
Run Code Online (Sandbox Code Playgroud)

javascript clipboard blob

7
推荐指数
1
解决办法
1950
查看次数

标签 统计

blob ×1

clipboard ×1

javascript ×1