我可以知道可以用来防止addEventListener('fetch'
&&cache.put(
填满用户磁盘空间的策略是什么吗?无论如何为缓存中的每个请求设置过期时间?
问问题
395 次
1 回答
3
Cache 对象正是作者必须自己管理的对象。除非作者明确要求,否则缓存对象不会更新。除非作者删除条目,否则缓存对象不会过期。
请注意,如果浏览器愿意,它可以丢弃您的缓存(并且您应该假设有时它会),特别是如果它决定您存储太多 - 它不会让您填满用户的整个驱动器。
似乎也没有任何检查缓存大小的方法。但是请注意,工作中有相关规范,例如配额管理 API。上面链接的 Jake Archibald 的文章给出了以下使用此 API 的示例(这将为您提供所有站点存储的结果,而不仅仅是您的缓存):
navigator.storageQuota.queryInfo("temporary").then(function(info) {
console.log(info.quota);
// Result: <quota in bytes>
console.log(info.usage);
// Result: <used data in bytes>
});
但是我只是在 Chrome Canary 中尝试过这个并且storageQuota
未定义 - 我认为这还没有在任何地方实现。如果我错了,希望有人能纠正我。
于 2015-07-18T15:34:24.560 回答