Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Буфер обмена (https://javascript.ru/forum/misc/85137-bufer-obmena.html)

Андрей_В 18.04.2023 13:58

Буфер обмена
 
Здравствуйте.

Такая проблема. Есть страничка, которая должна открываться в telegram как telegram-game. Это не игра, но не важно. Там среди прочего есть опция вставить строку в буфер обмена. Использую

Код:

navigator.clipboard.writeText(str);
Это прекрасно работает просто в браузере или в телеге под iOS, но если открыть как telegram-игру в Android, то в буфер ничего не копируется. В этом же телефоне просто в браузере копируется нормально.

В telegram получается ошибка "NotAllowedError Write permission denied". Хотя на этом же экране я могу просто пальцем выделить текст и скопировать в буфер. Ну может там другой уровень доступа к содержимому.

Пробовал проверять разрешения

Код:

navigator.permissions.query({ name: 'clipboard-write' })
Но это вызывает ошибку "Cannot read properties of undefined (reading 'query')". В документации написано, что вообще-то это разрешение на запись в буфер предоставляется автоматически любой активной странице.

В общем вопрос. Есть какое-то решение?

Андрей_В 18.04.2023 16:07

В общем сам и отвечаю.
Судя по всему, решения нет.
WebView Android не поддерживает все эти штуки с разрешениями.

https://developer.mozilla.org/en-US/...PI/Permissions


Часовой пояс GMT +3, время: 14:16.