服务人员的存储限制是多less?

大多数浏览器为localStorage提供每个域5MB的存储限制。 服务人员是否有这样的记忆限制/限制?

我知道networking工作者(服务工作者所在的networking工作者)没有这种限制。 但Web Workers并不完全用于资产caching,而是更多地用于处理(因此CPU是主要关心的问题)。

如果内存大小没有限制,devise错误的网站会不会导致浏览器崩溃?

最近我碰到这篇文章: 离线烹饪书 ,其中说明如下:

你的出身给了一定的自由空间来做自己想做的事情。 这个可用空间在所有原始存储之间共享 :LocalStorage,IndexedDB,F​​ilesystem,当然还有Caches。

你得到数额是不是规定 ,它会根据设备和存储条件而有所不同。 您可以通过以下方式了解您的收入:

navigator.storageQuota.queryInfo("temporary").then(function(info) { console.log(info.quota); // Result: <quota in bytes> console.log(info.usage); // Result: <used data in bytes> }); 

上面的代码可能不适用于所有的浏览器 。 (例如:在铬<48可能需要寻找webkitPersistentStorage等)

其他有用的信息/资源

  1. 根据Addy Osmani的“ 逐步进入Web应用程序的离线存储”

    Chrome and Opera :您的存储是每个来源(而不是每个API)。 两种存储机制都将存储数据,直到达到浏览器配额。 应用程序可以检查他们使用配额pipe理API的配额(如上所述)。

    Firefox没有限制,但会在50MB数据存储后提示

    Mobile Safari 50MB最大

    Desktop Safari无限(5MB后提示)

    IE10+ 250MB,提示10MB

  2. 关于使用 Eiji Kitamura 在移动浏览器上处理配额的更详细的指南。

现在这些是我的问题最相关的文章/解决scheme。 如果有人知道更好的文章或规格,请分享。

没有明确的限制。 所有的现代浏览器都是多进程或类似的,所以devise不好的页面(或SW)不会比崩溃本​​身做得更差。

请注意,SW规格非常明确,因为任何原因,浏览器可以随时杀死和重新启动软件。 (如果DevTools在一个页面上打开,Chrome会故意杀死SW的页面,鼓励您采用良好的做法。)

我不是100%确定的,但是我认为你完全受限于客户端机器上可用的内容。 如在,没有固定的上限

如果有人正在运行一台机器的野兽,并且浏览器是唯一有效的应用程序,那么你很可能有足够的存储空间

但是,如果这是一台只能勉勉强强的旧式有限的机器, 你会很less

这完全取决于你想要做什么。 您应该只使用服务人员来存储对您的页面/应用程序工作至关重要的事情

在最新的浏览器上,你可以使用StorageManager ,这是一个新的浏览器存储标准的实现,看看这个 mozilla文章。

 let _storageStats = await navigator.storage.estimate(); console.log(_storageStats); /* Will prompt something like this {quota: 15946471833, usage: 682} Which is a representation of quota/usage in bytes As you can see I get an insane quota of almost 16 GB */ 

有关navigator.storage.estimate()navigator.webkitTemporaryStorage.queryUsageAndQuota()更多信息,请访问https://developers.google.com/web/updates/2017/08/estimating-available-storage-space

testing页面在这里https://thimbleprojects.org/startpolymer/361372/