clipboard.setImageData()

イメージをクリップボードにコピーします。イメージはクリップボードに書き込まれる前に再エンコードされます。イメージが無効な場合、クリップボードは修正されません。

The image is provided as an ArrayBuffer containing the encoded image. JPEG and PNG formats are supported.

Although this API is based on Chrome's clipboard.setImageData() API, there are some differences:

  • The Chrome API is only for apps, not extensions.
  • This API requires only the "clipboardWrite" permission, while the Chrome version also requires the "clipboard" permission.
  • Chrome's API uses callbacks, and this API only supports promises.
  • This API does not support the additionalItems parameter.

これはPromiseを返す非同期関数です。

書式

browser.clipboard.setImageData(imageData, imageType)

パラメータ

imageData
An ArrayBuffer containing the encoded image data to copy to the clipboard.
imageType
A DOMString indicating the type of image contained in imageData: "png" or "jpeg".

返り値

A Promise that will be resolved with no arguments if the operation succeeded, or rejected if there was an error (for example, because the data did not represent a valid image).

ブラウザ互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxOperaAndroid 版 Firefox
setImageDataChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 57Opera 未対応 なしFirefox Android 完全対応 57

凡例

完全対応  
完全対応
未対応  
未対応

Copy a remote image:

// 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'));

Copy an image that was bundled with the extension:

// requires the API permission "clipboardWrite"

fetch(browser.runtime.getURL('image.png'))
.then(response => response.arrayBuffer())
.then(buffer => browser.clipboard.setImageData(buffer, 'png'));
Acknowledgements

This API is based on Chromium's chrome.clipboard API.