poojakumawat1 Ответов: 1

Как очистить clipboarddata с помощью javascript, который поддерживает браузер chrome?


Буфер обмена, в котором хранится текущее скопированное значение.
Я могу получить текущее значение ,которое в данный момент находится в буфере обмена с помощью javascript, и я использую браузер chrome, но я не могу изменить значение буфера обмена или очистить данные буфера обмена.потому что я хочу создать систему, в которой после вставки скопированного значения оно должно быть удалено или удалено из буфера обмена. когда я снова пытаюсь вставить это значение ,оно не должно быть вставлено.
Помогите

Что я уже пробовал:

document.addEventListener("вставить", функция (e) {
var clipText = e.clipboardData.getData('текст');

clipText= clipText.toUpperCase();


консоли.журнал(электронная.цель.идентификатор);

if(temp2==clipText)
count=count+1;

е.метод preventDefault();



if(clipText!=null && count==0)
{

e.target.value = clipText ;
temp2=clipText;

}
еще
if(temp2!=clipText ){

e.target.value = clipText ;
temp2=clipText;

}еще{
if(temp2==clipText && count>0 )
{

e.target.value = "" ;

}
}
возвращать false;
});

1 Ответов

Рейтинг:
1

Jochen Arndt

Нет никакого способа обнаружить, что другое приложение вставило данные из буфера обмена. После того, как данные были помещены в буфер обмена, они принадлежат системе и могут быть запрошены любым другим приложением.

Все, что вы можете сделать, это очистить буфер обмена, когда ваше приложение вставляет. Но вы не должны этого делать, потому что данные могут быть из любого приложения, и пользователи могут захотеть вставить их несколько раз.

Вместо этого вы можете предоставить данные с помощью перетаскивания, потому что это делает то, что вы хотите: как только данные удаляются или операция перетаскивания отменяется, данные уничтожаются.


poojakumawat1

есть только одна страница, на которой я должен очистить буфер обмена, когда вставляется одна и та же строка.
Например, я скопировал строку и пытаюсь вставить ее в одно текстовое поле, и она должна быть вставлена. затем я пытаюсь вставить эту строку в другое текстовое поле ,она не должна быть вставлена ,но если я снова скопирую эту строку, она должна быть вставлена в текстовое поле.
Так что все, что я хочу, чтобы очистить мой буфер обмена после вставки значения
document.addEventListener("вставить", функция (e) {
е.цель.значение = e.clipboardData.метода GetData('текст');

//Четкая логика буфера обмена в javascript
});
я мог бы попробовать это: e.clipboardData.setData('Text',");,clipboardData.cleardata();
но это не поддерживается в chrome.
ПОМОЩЬ

Jochen Arndt

Чтобы очистить буфер обмена, вы должны установить новые данные. Это можно сделать с помощью document.execCommand('copy'), который требует активного выделения (например, из скрытого текстового поля). Примеры можно найти, выполнив поиск "javascript copy to clipboard":
https://clipboardjs.com/
https://ourcodeworld.com/articles/read/143/how-to-copy-text-to-clipboard-with-javascript-easily