大多数浏览器为localStorage提供每个域5MB的存储限制.服务工作者是否存在此类内存限制/限制?
我知道网络工作者(服务工作者所在的网站)没有这样的限制.但Web Workers并不完全用于资产缓存,而是更多地用于处理(因此CPU是主要关注点).
如果内存大小没有限制,那么设计糟糕的网站可能会使浏览器崩溃吗?
根据MDN上的这个文档:
之后每24小时左右下载一次.它可能会更频繁地下载,但必须每24小时下载一次,以防止坏脚本长时间烦人.
Firefox和Chrome也是如此吗?或者更新到服务工作者javascript只在用户导航到网站时发生?
我无法绕过ServiceWorker 的Clients.claim API.根据我的理解(这里和这里),我可以调用claim()服务工作者激活事件,以防止必须刷新页面以初始化ServiceWorker.我不能让它工作,但总是最终不得不刷新.这是我的代码:
服务工作者内部:
self.addEventListener('install', function (event) {
self.skipWaiting();
event.waitUntil(caches.open(CURRENT_CACHE_DICT.prefetch)
.then(function(cache) {
var cachePromises = PREFETCH_URL_LIST.map(function(prefetch_url) {
var url = new URL(prefetch_url, location.href),
request = new Request(url, {mode: 'no-cors'});
return fetch(request).then(function(response) {
if (response.status >= 400) {
throw new Error('request for ' + prefetch_url +
' failed with status ' + response.statusText);
}
return cache.put(prefetch_url, response);
}).catch(function(error) {
console.error('Not caching ' + prefetch_url + ' due to ' + error);
}); …Run Code Online (Sandbox Code Playgroud)