JS: нельзя использовать API асинхронного буфера обмена для страниц, которые будут свернуты или помещены в фоновый режим
Пример:
<!DOCTYPE html>
<html>
<body>
<script>
setInterval(myFunction, 1000);
function myFunction() {
window.focus()
navigator.clipboard.readText()
}
</script>
</body>
</html>
Если у пользователя открыто другое приложение или окно / вкладка браузера, эта страница выдаст сообщение
DOMException: Document is not focused.
ошибка каждую секунду.
Я пытаюсь создать страницу, которая отслеживает мой буфер обмена. Я надеюсь, что смогу оставить страницу открытой на моем втором мониторе, пока я использую другую программу (и я буду копировать текст из этой программы, следовательно, мониторинг буфера обмена).
Но похоже, что невозможно использовать API буфера обмена, если браузер будет работать в фоновом режиме.
Обратите внимание, что пример можно запустить в любом браузере на основе Chromium, каждый из которых позволяет предоставлять разрешение на чтение из буфера обмена постранично. (В Firefox этот API буфера обмена могут использовать только расширения.)
Есть ли обходной путь? У меня также возникли проблемы с использованием
document.execCommand("paste")
для этой же цели.