Курсор "Работа в фоновом режиме" при выполнении WritableStream.close() в Chrome
Мы разрабатываем веб-инструмент для записи видео с экрана пользователя и веб-камеры.
Некоторые люди записывают большие видеоролики продолжительностью более часа. Используя к API доступафайловой системе (в Chrome и Edge в Windows), мы хотим сделать резервную копию записываемого видео в файл в файловой системе хоста на случай сбоя браузера или компьютера.
Все это работает, как и ожидалось, за исключением одного побочного эффекта при закрытии WritableStream (
WritableStream.close()
). При закрытии потока курсор быстро меняется в масштабе всей системы на окно «Работа в фоновом режиме». Курсор.
Кто-нибудь знает, есть ли какое-то решение, чтобы Chrome / Edge / Chromium не менял курсор? Поскольку мы записываем экран пользователя, изменение курсора каждые несколько секунд недопустимо.
Пример кода:
<body>
<button onclick="selectDirectory()">Select Directory for Backup</button>
<script>
async function selectDirectory() {
const dirHandle = await window.showDirectoryPicker();
const fileHandle = await dirHandle.getFileHandle('backup.txt', { create: true });
setInterval(async () => {
const writable = await fileHandle.createWritable();
await writable.write("Test");
console.log('closing writeable...');
await writable.close(); // at this point the cursor changes
}, 1000);
}
</script>
</body>