У меня есть размещенное веб-приложение, созданное с помощью приложения Create React, которое использует работника службы, позволяющего открывать и просматривать приложение в автономном режиме.
Я использую Cordova как гибридную оболочку приложения, которая использует cordova-plugin-inappbrowser для загрузки внешнего веб-контента и отображения его пользователю на нативном устройстве iOS или Android.
Я бы хотел, чтобы приложение можно было открывать, когда сеть не работает (при условии, что пользователь уже открыл его один раз и содержимое было кэшировано). Из того, что я могу сказать, видно, что сервисный работник правильно работает и кэширует контент, когда он загружается в inappbrowser и работает интернет. Это вывод журнала консоли указывает, что это происходит.
Если приложение закрыто и повторно открыто с отключенной сетью, приложение сообщит об ошибке сети и не загрузится. Вот строка кода, выдающая ошибку:
inAppBrowserRef = cordova.InAppBrowser.open(url, '_blank', 'location=no,zoom=no,toolbar=no,hidenavigationbuttons=yes'); //open the in app browser with no location bar
Код, по-видимому, пытается проверить, существует ли URL-адрес, прежде чем приступать к выполнению любого кода работника сервиса. Есть ли способ сообщить InAppBrowser, что сначала нужно загружать из кэшированного контента, а не по URL-адресу сети?