Clipboard API предоставляет возможность реагировать на команды буфера обмена (вырезать, копировать и вставить), а также выполнять асинхронные чтение/запись в системный буфер обмена. Доступ к содержимому буфера обмена осуществляется через Permissions API:
clipboard-write
(разрешение на запись) в буфер обмена автоматически предоставляется страницам, когда они находятся на активной вкладке. Для clipboard-read
(чтение из буфера обмена) должно быть запрошено разрешение пользователя. Можно сделать запрос на разрешение, попытавшись прочитать данные из буфера обмена.API предназначен для доступа к буферу обмена, используя document.execCommand()
.
Доступ к буферу обмена
Вместо создания объекта буфера посредством инициализации экземпляра, вы получаете доступ к системному буферу обмена через глобальный Navigator.clipboard
:
navigator.clipboard.readText().then(
clipText => document.querySelector(".editor").innerText += clipText);
Этот фрагмент извлекает текст из буфера обмена и добавляет его к первому элементу, найденному с помощью editor
(редактора) классов. Этот код безопасен, поскольку readText()
(и read()
, если на то пошло) возвращает пустую строку, если в буфере обмена нет текста.
Интерфейсы
Clipboard
Secure context- Предоставляет интерфейс для чтения/записи текста и данных в системный буфер обмена. В спецификации называется 'Async Clipboard API (API асинхронного буфера обмена)'.
ClipboardEvent
Secure context- Представляет события, содержащие информацию, относящуюся к модификации буфера обмена, а именно
cut
,copy
иpaste
события. В спецификации называется 'Clipboard Event API (API событий буфера обмена)'. ClipboardItem
Secure context- Представляет единый формат элемента, используемый при чтении или записи данных.
Спецификации
Спецификация | Статус | Комментарий |
---|---|---|
Clipboard API and events | Рабочий черновик | Первоначальное определение. |
Совместимость с браузером
Смотрите также
Clipboard
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
ClipboardEvent
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
ClipboardItem
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
- Async Clipboard API demo on Glitch (Демонстрация API асинхронного буфера на Glitch)
- Image support for Async Clipboard article (Поддержка изображений в асинхронном буфере обмена)
- Permissions API
- Using the Permissions API