12 сен 2023 (OFF) Developer (B) :

Кто понимает в PWA (Прогрессивное веб-приложение)

Проблема заключается в следующем, этот код который я дам он работает, приложение можно установить, можно пройти по ссылкам, отключить интернет, и страницы будут отображены). Но стоит файл PWA.js переместить с корневой директории, в папку PWA где все остальные файлы, изменить путь к файлу с "/PWA.js" на "/PWA/PWA.js", то кэширование не работает. Что только не делал, какие только пути не менял, в общем кэширование не смог завести если файл переместить во внутрь папки PWA, а он последний который мне мешает вне папки.



Все скрипты PWA в папке PWA, только вот этот PWA.js остался вне, который отвечает за PWA.

Вот его код который кэширует когда он вне папки:
`use strict`;
importScripts(`/PWA/sw-toolbox.js`);
toolbox.precache([
'/index.html',
'/pages/page1.html',
'/pages/page2.html',
]);
toolbox.router.get('/(.*)', function(req, vals, opts) {
return toolbox.networkFirst(req, vals, opts)
.catch(function(error) {
if (req.method === 'GET' && req.headers.get('accept').includes('text/html')) {
return toolbox.cacheOnly(new Request('/PWA/offline.html'), vals, opts);
}
throw error;
});
});
И менял путь к /PWA/sw-toolbox.js на "PWA/sw-toolbox.js, /sw-toolbox.js, sw-toolbox.js" и с файлами которые кэшировать надо также делал.

Сам скрипт PWA.js подключен в /PWA/PWA.php, там кода много вот основной:
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('/PWA.js').then(
function(registration) {
console.log('ServiceWorker registration successful with scope: ', registration.scope);
},
function(err) {
console.log('ServiceWorker registration failed: ', err);
});
});
}
На нём тоже с путем к файлу PWA.js мудрил и менял также
Канал: JavaScript

Комментарии (9)

Спроси на bymas ru
Ти разобрался с pwa. Я хочу тоже сделать для сайта . Думаю разберусь или нет
Показать комментарий
Скрыть комментарий
Для добавления комментариев необходимо авторизоваться
Тамагочи
Очаровательные питомцы в вашем телефоне! Кормите...
Тема: Светлая | Тёмная
Версия: Mobile | Lite | Touch | Доступно в Google Play