У меня есть веб-приложение angular 8, где я слушаю копии и прошедшие события. Моя цель - захватить текст из буфера обмена, который был недавно скопирован, чтобы я мог сохранить его в своем сервисе !! Но я не могу получить его на уровне события копирования, event.clipboardData.getData ('Text') всегда возвращает пустой, несмотря на то, что недавно скопировал некоторый случайный текст 'helloo !!'
Это фрагмент моего код
selector: '[appInterceptCopyPast]'
})
export class InterceptCopyPastDirective {
constructor(private customClipBoard: CustomClipboardService) { }
@HostListener('window:copy', ['$event']) interceptCopy(event: ClipboardEvent) {
debugger;
event.preventDefault();
let previouslyCopiedText = event.clipboardData.getData('Text');
this.customClipBoard.savePreCopiedText(previouslyCopiedText);
let textCopied = window.getSelection().toString();
this.customClipBoard.saveCopiedText(textCopied);
}
@HostListener('window:paste', ['$event']) interceptPaste(event: ClipboardEvent) {
debugger;
let externalClipboardtext = event.clipboardData.getData('Text');
this.customClipBoard.updateClipboards(externalClipboardtext);
let textToPaste = this.customClipBoard.getCopiedText();
document.execCommand("insertHTML", false, textToPaste);
event.preventDefault();
}
функция interceptPaste работает нормально