服务人员的存储限制是多less?
大多数浏览器为localStorage提供每个域5MB的存储限制。 服务人员是否有这样的记忆限制/限制?
我知道networking工作者(服务工作者所在的networking工作者)没有这种限制。 但Web Workers并不完全用于资产caching,而是更多地用于处理(因此CPU是主要关心的问题)。
如果内存大小没有限制,devise错误的网站会不会导致浏览器崩溃?
最近我碰到这篇文章: 离线烹饪书 ,其中说明如下:
你的出身给了一定的自由空间来做自己想做的事情。 这个可用空间在所有原始存储之间共享 :LocalStorage,IndexedDB,Filesystem,当然还有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等)
其他有用的信息/资源
-
根据Addy Osmani的“ 逐步进入Web应用程序的离线存储”
在
Chrome and Opera
:您的存储是每个来源(而不是每个API)。 两种存储机制都将存储数据,直到达到浏览器配额。 应用程序可以检查他们使用配额pipe理API的配额(如上所述)。Firefox
没有限制,但会在50MB数据存储后提示Mobile Safari
50MB最大Desktop Safari
无限(5MB后提示)IE10+
250MB,提示10MB -
关于使用 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/