clipboard.setImageData()
Копирует изображение в буфер обмена. Изображение повторно кодируется перед записью в буфер обмена. Если изображение недействительно, буфер обмена не изменяется.
Изображение предоставляется в виде ArrayBuffer, содержащего закодированное изображение. Поддерживаются форматы JPEG и PNG.
Хотя этот API основан на API clipboard.setImageData() Chrome, есть некоторые различия:
- API Chrome предназначен только для приложений, а не расширений.
- Этот API требует только разрешения
"clipboardWrite", в то время как версия Chrome также требует разрешения"clipboard". - API Chrome использует обратные вызовы, а этот API поддерживает только промисы.
- Этот API не поддерживает параметр
additionalItems.
Это асинхронная функция, которая возвращает Promise.
Синтаксис
browser.clipboard.setImageData(imageData, imageType)
Параметры
imageData-
An
ArrayBufferсодержащий закодированные данные изображения, которые нужно скопировать в буфер обмена. imageType-
Строка, указывающая тип изображения, содержащегося в
imageData:"png"или"jpeg".
Возвращаемое значение
A Promise, который будет разрешён без аргументов, если операция прошла успешно, или отклонен, если произошла ошибка (например, потому что данные не представляют собой допустимое изображение).
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | |
setImageData |
Нет | Нет | 57 | ? | Нет | Нет | ? | ? | 57 | ? | Нет | ? |
Примеры
Копирование удаленного изображения:
// requires: // * the host permission for "https://cdn.mdn.mozilla.net/*" // * the API permission "clipboardWrite" fetch("https://cdn.mdn.mozilla.net/static/img/favicon144.png") .then((response) => response.arrayBuffer()) .then((buffer) => browser.clipboard.setImageData(buffer, "png"));
Копирование изображения, которое было включено в расширение:
// requires the API permission "clipboardWrite" fetch(browser.runtime.getURL("image.png")) .then((response) => response.arrayBuffer()) .then((buffer) => browser.clipboard.setImageData(buffer, "png"));
Примечание: Этот API основан на API chrome.clipboard Chromium.
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/clipboard/setImageData