mar*_*zen 6 firefox google-chrome service-worker cachestorage
我正在尝试为我的网络应用程序实现离线功能,但离线时我遇到了一些奇怪的行为,这可能是我所缺少的,因为它在 Chrome 和 Firefox 中都可以重现。
我将在下面描述我创建的示例应用程序的功能:
MyCache之前由 Service Worker 创建的缓存存储消失了。<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vanishing cache storage test</title>
<script>
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('/sw.js')
.then((registration) => {
console.log('Service worker registered sucessfully:', registration);
})
.catch((error) => {
console.error('Failed to register service worker:', error.stack);
});
});
}
</script>
</head>
<body>
<h1>Hi!</h1>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
const CACHE_NAME = 'MyCache';
self.addEventListener('install', (event) => {
event.waitUntil(
caches.open(CACHE_NAME)
.then((cache) => {
return cache.add('/');
})
.then(() => {
console.debug(CACHE_NAME, 'created and populated');
})
);
});
self.addEventListener('activate', (event) => {
console.debug('SW activated');
});
Run Code Online (Sandbox Code Playgroud)
Google Chrome 版本:87.0.4280.141(官方版本)(x86_64) Firefox 版本:85.0b5(64 位,开发者版) 操作系统:macOS v11.1 (Big Sur)
这是预期的行为吗?如果是这样,为什么?
缓存内容仍然存在。如果您上网并刷新页面,您可以再次看到它(不会重新下载)。
我已提交https://bugs.chromium.org/p/chromium/issues/detail?id=1164309,因为即使页面未加载,存储也应该在开发工具中可见。
| 归档时间: |
|
| 查看次数: |
3164 次 |
| 最近记录: |