clipboard.setImageData()

Kopiert ein Bild in die Zwischenablage. Das Bild wird neu kodiert, bevor es in die Zwischenablage geschrieben wird. Wenn das Bild ungültig ist, wird die Zwischenablage nicht verändert.

Das Bild wird als ArrayBuffer bereitgestellt, der das kodierte Bild enthält. JPEG- und PNG-Formate werden unterstützt.

Obwohl diese API auf der clipboard.setImageData() API von Chrome basiert, gibt es einige Unterschiede:

  • Die Chrome-API ist nur für Apps, nicht für Erweiterungen.
  • Diese API erfordert nur die Berechtigung "clipboardWrite", während die Chrome-Version auch die Berechtigung "clipboard" erfordert.
  • Die Chrome-API verwendet Callbacks, und diese API unterstützt nur Promises.
  • Diese API unterstützt den Parameter additionalItems nicht.

Dies ist eine asynchrone Funktion, die ein Promise zurückgibt.

Syntax

js
browser.clipboard.setImageData(imageData, imageType)

Parameter

imageData

Ein ArrayBuffer, der die zu kopierenden Bilddaten in die Zwischenablage enthält.

imageType

Ein String, der den Typ des im imageData enthaltenen Bildes angibt: "png" oder "jpeg".

Rückgabewert

Ein Promise, das ohne Argumente erfüllt wird, wenn das Vorhaben erfolgreich war, oder abgelehnt wird, wenn ein Fehler aufgetreten ist (zum Beispiel, weil die Daten kein gültiges Bild darstellten).

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Firefox for Android
Safari on iOS
setImageData

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

Beispiele

Ein entferntes Bild kopieren:

js
// 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"));

Ein Bild kopieren, das mit der Erweiterung gebündelt wurde:

js
// requires the API permission "clipboardWrite"

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

Hinweis: Diese API basiert auf der chrome.clipboard API von Chromium.