【发布时间】:2019-09-09 10:19:35
【问题描述】:
我正在为我的网站开发 pwa,并将所有资产存储到缓存存储中。 问题是当检查开发工具 -> 应用程序 -> 缓存存储是否正常并保存,但是当转到其他页面并切换到开发工具缓存存储上的离线模式时未加载!
只为保存的同一页面加载缓存存储数据? 其他页面不能访问其他页面的缓存存储吗?
event.respondWith(
fetch(request)
.then(res => { // onLine
if (request.method == 'GET') {
// add to cache
caches.open(DYNAMIC_STATIC_CACHE_NAME_VERSION)
.then(cache => {
// console.log("save to dynamic cache");
cache.put(request, res);
})
.catch(() => console.log("error on dynamic cache open!"));
}
return res.clone();
})
.catch(err => {
console.log("user is offline");
if (request.mode === 'navigate' ||
(request.method === 'GET' && request.headers.get('accept').includes('text/html'))
) {
return caches.match(request) || caches.match(offlineUrl);
}
return caches.match(request) || fetch(request);
});
【问题讨论】:
-
当你说不同的页面时,你是什么意思?
-
例如我在 / 页面(项目的根目录)并将我的数据保存到缓存存储。当转到 /contact 页面并且用户 mod 处于离线缓存存储数据未加载时!但是当用户 mod 在线时 /contact 上的缓存存储正常并加载。
-
我正在检查其他站点使用 pwa 。他们就是这样的
标签: javascript progressive-web-apps