API del portapapeles

La API del portapapeles permite acceder los comandos del portapapeles (cortar, copiar y pegar), así como leer y escribir de manera asíncrona el portapapeles del sistema. Acceder al contenido del portapapeles está sujeta a la API de permisos: El permiso clipboard-write es concedido automáticamente a las páginas cuando están en la pestaña activa. El permiso clipboard-read debe ser solicitado, lo que se puede hacer intentando leer directamente el portapapeles.

Esta API está diseñada para reemplazar el acceso al portapapeles usando document.execCommand().

Accediendo al portapapeles

En vez de instanciar un objeto Clipboard, se puede acceder al portapapeles del sistema a través de la variable global Navigator.clipboard:

js
navigator.clipboard
  .readText()
  .then(
    (clipText) => (document.querySelector(".editor").innerText += clipText),
  );

Esta pieza de código lee el texto que hay en el portapapeles y lo añade al primer elemento que tenga la clase editor. Desde que readText() (y también read(), de hecho) devuelve una cadena de texto vacía si el contenido del portapapeles no es texto, este código es seguro.

Interfaces

Clipboard Contexto seguro

Proporciona una interfaz para leer y escribir texto y datos. La especificación se refiere a esto como 'Async Clipboard API.'

ClipboardEvent Contexto seguro

Representa la información del evento que se ha disparado. Los eventos que se pueden disparar son: cortar, copiar, y pegar. La especificación se refiere a esto como 'Clipboard Event API'.

ClipboardItem Contexto seguro

Representa uno de los objetos del portapapeles, usado en la lectura y escritura de datos.

Especificaciones

Specification
Clipboard API and events
# clipboard-interface
Clipboard API and events
# clipboard-event-interfaces
Clipboard API and events
# clipboarditem

Compatibilidad con navegadores

api.Clipboard

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Clipboard
read
formats.unsanitized parameter
Experimental
readText
Supports image/png MIME type
Supports text/html MIME type
Supports text/plain MIME type
write
writeText

Legend

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

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.

api.ClipboardEvent

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
ClipboardEvent
ClipboardEvent() constructor
clipboardData

Legend

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

Full support
Full support

api.ClipboardItem

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
ClipboardItem
ClipboardItem() constructor
getType() method
presentationStyle
supports() static method
Support for image/svg+xml MIME type.
Experimental
Support for custom formats starting with web .
Experimental
types

Legend

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

Full support
Full support
Partial support
Partial support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
Experimental. Expect behavior to change in the future.
Has more compatibility info.

Véase también