У меня есть сайт stati c (созданный с помощью Pelican) с многоязычной структурой, например,
www.example.com/
www.example.com/index.html
www.example.com/page1.html
www.example.com/es/
www.example.com/es/index.html
www.example.com/es/page1.html
Я кэшировал JS и CSS и индексные файлы с событие установки сервисного работника:
const staticCacheName = 'static-cache-v5';
const filesToCache = [
'/',
'/index.html',
'/es/index.html',
'/offline.html',
'static/js/main..js',
'static/css/styles.css',
]
self.addEventListener('install', (event) => {
event.waitUntil(
caches.open(staticCacheName).then((cache) => {
return cache.addAll(filesToCache);
})
);
self.skipWaiting();
});
, и я использую кеш, возвращаясь к сетевой стратегии:
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request).then(function(response) {
return response || fetch(event.request);
})
);
});
У меня возникает проблема, когда www.example.com/es/index.html
или es/offline.html
доступен в автономном режиме и загружает файлы CSS и JS. Проблема заключается в том, что поскольку файлы es / index. html ссылаются на CSS и JS как ../static/css/styles.css
и ../static/js/main.js
, они не могут найти файлы в кэше. Я пытался найти способ изменить запрос и ответ, но пока что мне не удалось. Любая помощь?