Spec-Zone.ru › Web Extensions

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API