Содержание
Современные графические интерфейсы часто предоставляют менеджер буфера обмена, который поддерживает несколько операций вырезания и вставки. В этой модели буфер обмена обрабатывается как стопка или записная книжка с новыми вырезами и копиями, помещаемыми поверх списка недавних транзакций.
Если ваше электронное приложение по умолчанию предотвращает любое событие клавиатуры, и вы хотите отфильтровать события в соответствии с действиями пользователя самостоятельно (или просто захотите добавить кнопки копирования / вставки в свой пользовательский интерфейс), вы можете узнать, как обрабатывать вручную буфер обмена.
Доступ к Clibpoard
Для доступа к буферу обмена мы будем использовать следующую строку:
const {clipboard} = require('electron');
Переменная буфера обмена (в области видимости) позволит вам копировать, вставлять и использовать другие методы, которые может предложить буфер обмена ОС.
Получить содержимое буфера обмена
Есть 3 способа получить контент:
Как обычный текст
Вы можете извлечь содержимое буфера обмена в виде простого текста, используя readText
метод буфера обмена.
const {clipboard} = require('electron');
var content = clipboard.readText();
alert(content);
Как HTML
Вы можете получить содержимое буфера обмена, но с содержимым разметки, используя readHtml
метод.
const {clipboard} = require('electron');
var content = clipboard.readHtml();
alert(content);
Как RTF
Вы можете извлечь содержимое буфера обмена в формате RTF (расширенный текстовый формат), используя readRtf
метод:
const {clipboard} = require('electron');
var content = clipboard.readRtf();
alert(content);
Установить содержимое буфера обмена
Есть 3 способа установить содержимое буфера обмена в вашем приложении.
Как обычный текст
Вы можете заполнить содержимое буфера обмена простым текстом, используя writeText
метод.
const {clipboard} = require('electron');
var content = "Text that will be now on the clipboard as text";
clipboard.writeText(content);
Как HTML
Вы можете заполнить содержимое буфера обмена разметкой, используя writeText
метод.
const {clipboard} = require('electron');
var content = "Try to paste this content into some editor and see how this Works";
clipboard.writeHtml(content);
Как RTF
Вы можете заполнить содержимое буфера обмена как RTF (формат расширенного текста), используя записьRtf
метод:
const {clipboard} = require('electron');
var content = "{\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard This is some {\b bold} text.\par }";
clipboard.writeRtf(content);
Читайте официальную документацию буфера обмена здесь в хранилище.