--- title: Clipboard slug: Web/API/Clipboard tags: - API - Clip - Clipboard - Clipboard API - Editing - Interface - Pasteboard - Presse-papiers - Reference translation_of: Web/API/Clipboard ---
{{APIRef("Clipboard API")}}
Le presse-papiers est un tampon de données utilisé pour le stockage ou le transfert à court terme de données, éventuellement entre documents ou applications.
Il est généralement mis en œuvre sous la forme d’une {{interwiki("wikipedia", "Mémoire_tampon", "mémoire tampon")}} temporaire, parfois appelée « tampon de collage », qui peut être accédé par la plupart ou tous les programmes de l’environnement via des {{interwiki("wikipedia", "Interface_de_programmation", "interfaces de programmation")}} définies.
Une application typique accède aux fonctionnalités du presse-papiers en associant des {{interwiki("wikipedia", "Entr%C3%A9es-sorties", "entrées utilisateur")}} telles que des {{interwiki("wikipedia", "Raccourci_clavier", "raccourcis clavier")}}, des éléments de {{interwiki("wikipedia", "Menu_(informatique)", "menus")}}, etc. à ces interfaces.
L’interface Clipboard
implémente l’API clipboard, qui fournit — si l’utilisateur ou l’utilisatrice accorde sa permission — un accès en lecture et en écriture au contenu du presse-papiers du système. L’API clipboard peut être utilisée pour implémenter les fonctionnalités couper, copier et coller dans une application web.
Le presse-papiers du système est exposé via la propriété globale {{domxref("Navigator.clipboard")}}.
Les appels aux méthodes de l’objet Clipboard
échoueront si l’utilisateur ou l’utilisatrice n’a pas accordé les permissions requises en utilisant l’API permissions, et la permission "clipboard-read"
ou "clipboard-write"
selon le besoin.
Note : En réalité, actuellement, les prérequis des navigateurs pour accéder au presse-papiers varient significativement. Veuillez consulter la section {{anch("Clipboard availability")}} pour plus de détails.
Toutes les méthodes de l’API clipboard fonctionnent de manière asynchrone ; elles renvoient une {{jsxref("Promise")}} qui est résolue une fois que l’accès au presse-papiers a réussi. La promesse est rejetée si l’accès au presse-papiers est refusé.
Clipboard
est basé sur l’interface {{domxref("EventTarget")}}, et inclut les méthodes de celle-ci.
Promise
qui est résolue avec une {{domxref("DOMString")}} contenant le texte du presse-papiers une fois disponible.Promise
renvoyée.Promise
qui est résolue une fois que le texte est entièrement copié dans le presse-papiers.L’API clipboard asynchrone est une addition relativement récente, et son processus de mise en œuvre dans les navigateurs n’est pas encore terminé. En raison de questions de sécurité et de complexités techniques, l’intégration de cette API se fait progressivement dans la plupart des navigateurs.
Par exemple, Firefox ne supporte pas encore les permissions "clipboard-read"
et "clipboard-write"
, et l’accès aux méthodes pour lire et modifier le contenu du presse-papiers sont restreintes d’autres façons.
Pour les WebExtensions, vous pouvez demander les permissions "clipboardRead"
et "clipboardWrite"
afin de pouvoir utiliser clipboard.readText()
et clipboard.writeText()
. Les {{Glossary("Content Script", "scripts de contenu")}} appliqués à des sites HTTP n’ont pas accès à l’objet Clipboard
. Voir extensions in Firefox 63.
De plus, {{domxref("Clipboard.read", "read()")}} et {{domxref("Clipboard.write", "write()")}} sont désactivées par défaut et requièrent de changer une préférence pour les activer. Consultez les tables de compatibilité de chaque méthode avant de les utiliser.
Spécification | Statut | Commentaire |
---|---|---|
{{SpecName('Clipboard API','#clipboard-interface','Clipboard')}} | {{Spec2('Clipboard API')}} | Définition initiale. |
{{Compat("api.Clipboard")}}