Я пытаюсь скопировать изображение в буфер обмена , используя JavaScript. Я пробовал эти решения , но получаю ошибку:
Uncaught (in promise) DOMException: Document is not focused.
Есть эта статья , которая показывает:
try {
const imgURL = '/images/generic/file.png';
const data = await fetch(imgURL);
const blob = await data.blob();
await navigator.clipboard.write([
new ClipboardItem({
[blob.type]: blob
})
]);
console.log('Image copied.');
} catch(e) {
console.error(e, e.message);
}
Но это дает ошибка:
VM2303:12 TypeError: Failed to fetch "Failed to fetch"
... вместе с предупреждением CORS.
Я также пытался преобразовать URI данных изображения в BLOB-объект и используя:
navigator.clipboard.write([
new ClipboardItem({
'image/png': blob
})
])
... но это также дает следующую ошибку:
Uncaught (in promise) DOMException: Document is not focused
Обратите внимание, что мне нужно делать это только с локальными изображениями загружено на стороне клиента (имеет URI данных в качестве источника). Таким образом, все находится на одном сервере и не требует серверной части.