clipboard.setImageData()
將影像複製到剪貼簿。影像在寫入剪貼簿之前會被重新編碼。如果影像無效,剪貼簿將不會被修改。
影像以包含已編碼影像的ArrayBuffer形式提供。支援 JPEG 和 PNG 格式。
雖然此 API 基於 Chrome 的clipboard.setImageData() API,但存在一些差異
- Chrome API 僅適用於應用,不適用於擴充套件程式。
- 此 API 僅需要
"clipboardWrite"許可權,而 Chrome 版本還需要"clipboard"許可權。 - Chrome 的 API 使用回撥,而此 API 僅支援 Promise。
- 此 API 不支援
additionalItems引數。
這是一個非同步函式,返回一個 Promise。
語法
js
browser.clipboard.setImageData(imageData, imageType)
引數
imageData-
一個包含要複製到剪貼簿的已編碼影像資料的
ArrayBuffer。 imageType-
一個字串,指示
imageData中包含的影像型別:"png"或"jpeg"。
返回值
一個Promise,如果操作成功,則會以無引數形式解析;如果發生錯誤(例如,資料未表示有效影像),則會拒絕。
示例
複製遠端影像
js
// 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"));
複製隨擴充套件程式一起打包的影像
js
// requires the API permission "clipboardWrite"
fetch(browser.runtime.getURL("image.png"))
.then((response) => response.arrayBuffer())
.then((buffer) => browser.clipboard.setImageData(buffer, "png"));
瀏覽器相容性
載入中…
注意:此 API 基於 Chromium 的chrome.clipboard API。