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 ein 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 und 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 Rückrufe, und diese API unterstützt nur Versprechen.
- Diese API unterstützt den Parameter
additionalItems
nicht.
Dies ist eine asynchrone Funktion, die ein Promise
zurückgibt.
Syntax
browser.clipboard.setImageData(imageData, imageType)
Parameter
imageData
-
Ein
ArrayBuffer
, der die kodierten Bilddaten enthält, die in die Zwischenablage kopiert werden sollen. imageType
-
Ein String, der den Typ des Bildes angibt, das in
imageData
enthalten ist:"png"
oder"jpeg"
.
Rückgabewert
Ein Promise
, das ohne Argumente aufgelöst wird, wenn die Operation erfolgreich war, oder abgelehnt wird, wenn ein Fehler aufgetreten ist (z. B. weil die Daten kein gültiges Bild darstellten).
Browser-Kompatibilität
Beispiele
Ein entferntes Bild kopieren:
// requires:
// * the host permission for "https://mdn.github.io/*"
// * the API permission "clipboardWrite"
fetch("https://mdn.github.io/shared-assets/images/examples/favicon144.png")
.then((response) => response.arrayBuffer())
.then((buffer) => browser.clipboard.setImageData(buffer, "png"));
Ein Bild kopieren, das mit der Erweiterung gebündelt war:
// 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.