@gosolivs
Front-end developer

Как очистить буфер обмена, javascript?

Уважаемые коллеги, возможно с помощью javascript очистить буфер, при копировании в него содержимого с сайта?
  • Вопрос задан
  • 3795 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Sn0wSky
Очистить буфер обмена - никак. Запретить копирование - возможно, но не на 100%.
Ответ написан
Комментировать
@AXLLLOW
Решение состоит из двух этапов.

  1. Узнать как копировать в буфер.
  2. Вставить значение пустоты в буфер.


Решение:
1. Копирование в буфер выполняется так: document.execCommand('copy')
* но важное условие что копировать можно выделенный пользователем текст
Поэтому функция копирования текста в буфер выглядит так:
var copyToClipboard = function (text) {
var $txt = $('');
$txt.val(text).css({ width: "1px", height: "1px" }).appendTo('body');
$txt.select();
if (document.execCommand('copy')) {
$txt.remove();
}
};

2. Надо вставить пустоту.
Так как copyToClipboard(""); и copyToClipboard(''); - не скопирует пустоту в буфер.
А пробел - не является пустой. Надо найти пустоту
Символ соединитель слов (U+2060)
https://unicode-table.com/ru/2060/
И кидаем его как аргумет в функцию copyToClipboard("⁠");
* Возможно если копировать от суда код - он не сработает. Поэтому советую вручную писать все.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы