Нет, PWA не может прослушивать обычные изменения файловой системы, за исключением файлов, которые помещаются в изолированную программную среду для самого приложения (которое похоже на виртуальную файловую систему для каждого установленного PWA)
Вы можете обратиться к только прослушиватель событий для изменения хранилища здесь , который будет использоваться только для того, что вы сохраняете из PWA в специальном хранилище PWA, к которому ваши внешние приложения не могут получить доступ.
<input type="file">
- это единственный способ получить доступ к файловой системе обычного хранилища, в которой не будет даже прослушивателя.
То, что вы ожидаете, это то, что многие разработчики надеются получить в ближайшее время, но не в общей форме спецификации PWA.В основном это заблокировано ограничением безопасности, как вы упомянули.Подумайте обо всех веб-сайтах PWA (которые для конечных пользователей выглядят как обычные веб-сайты), которые мы посещаем в веб-браузере и имеют доступ к вашей полной файловой системе. Кто примет этот факт и понравится?Ни один. Никто.PWA должен развиваться, чтобы иметь отдельные разрешения после его добавления на домашний экран, и мы можем ожидать увидеть эти функции после этого.
Обновление: Единственное альтернативное решение, которое вы должны использовать как для файловой системы, так и для PWA, - это обернуть вашу PWA в Cordova и использовать собственный API файловой системы вместе с такими функциями PWA, как работники сервиса, чтобы иметь возможность автономной работы.,Если веб-просмотр целевых пользователей достаточно недавний (v40 +), он будет поддерживать сервисных работников.С помощью этой опции нельзя распространять приложения с помощью опции «Добавить на главный экран», и, если вы это сделаете, она не будет поддерживать доступ к файловой системе.
Использование Electron для переноса веб-приложения может быть еще одним альтернативным вариантом, который также предоставит доступ к вашей файловой системе.IDE, такие как Atom, VS Code, создаются с использованием Electron и HTML / CSS / JS.