blob: 80c6d7473d660d6fd70ffb1dc4a3035cf9492852 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
---
title: clipboard.setImageData()
slug: Mozilla/Add-ons/WebExtensions/API/clipboard/setImageData
tags:
- API
- Add-ons
- Clipboard
- Extensions
- Method
- Referece
- WebExtensions
- setImageData
translation_of: Mozilla/Add-ons/WebExtensions/API/clipboard/setImageData
---
{{AddonSidebar()}}
Copie une image dans le presse-papiers. L'image est recodée avant d'être écrite dans le presse-papiers. Si l'image n'est pas valide, le presse-papiers n'est pas modifié.
L'image est fournie en tant que [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/ArrayBuffer) contenant l'image codée. Les formats JPEG et PNG sont pris en charge.
Bien que cette API soit basée sur l'API [`clipboard.setImageData()`](https://developer.chrome.com/apps/clipboard) de Chrome, il existe certaines différentes :
- L'API Chrome est réservée aux applications et non aux extensions.
- Cette API nécessite uniquement la permission `"clipboardWrite"`, tandis que la version Chrome nécessite également la permission `"clipboard"`.
- L'API de Chrome utilise des rappels et cette API ne prend en charge que les promises.
- Cette API ne prend pas en charge le paramètre `additionalItems`.
C'est une fonction asynchrone qui renvoie une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise).
## Syntaxe
```js
browser.clipboard.setImageData(imageData, imageType)
```
### Paramètres
- `imageData`
- : [`ArrayBuffer`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/ArrayBuffer). Les données de l'image codées.
- `imageType`
- : Un {{domxref("DOMString")}} indiquant le type d'image contenue dans le fichier `imageData`: `"png"` ou `"jpeg"`.
### Valeur de retour
Une [`Promise`](/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise) qui sera remplie sans arguments si l'opération a réussi, ou rejetée, s'il y a une erreur (par exemple parce que les données ne représentaient pas une image valide).
## Compatibilité du navigateur
{{Compat("webextensions.api.clipboard.setImageData", 10)}}
## Exemples
Copiez une image distante :
```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'));
```
Copiez une image fournie avec l'extension :
```js
// requires the API permission "clipboardWrite"
fetch(browser.runtime.getURL('image.png'))
.then(response => response.arrayBuffer())
.then(buffer => browser.clipboard.setImageData(buffer, 'png'));
```
{{WebExtExamples}}
> **Note :**
>
> Cette API est basée sur l'API Chromium [`chrome.clipboard`](https://developer.chrome.com/apps/clipboard).
|