我的博客已经有a working Service Worker缓存最近的帖子,让用户即使在离线状态下也可以阅读。
关于the offline page显示缓存中不可用的内容,我想列出缓存中的最近帖子,以便用户有机会在离线时阅读它们。
是否有一种简单的方法可以在标准窗口上下文(而不是 Service Worker 上下文)中列出此类内容?
我找不到这方面的教程。我发现的所有教程都只涉及 Service Worker 部分。
谢谢。
最佳答案
除了在 Workers 中可用之外,Cache Storage API也可作为 window
的一部分提供全局范围,如 window.caches
。
这是 full example 的摘录使用该接口(interface)获取所有缓存内容的列表:
window.caches.keys().then(function(cacheNames) {
cacheNames.forEach(function(cacheName) {
window.caches.open(cacheName).then(function(cache) {
return cache.keys();
}).then(function(requests) {
requests.forEach(function(request) {
// Do something with request, like update your UI
// based on request.url.
});
});
});
});
关于caching - 如何列出 Service Worker 已存储在浏览器缓存中的博客文章?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41348690/