https://web.dev/storage-for-the-web/#check

https://web.dev/storage-for-the-web/#:~:text=Chrome%20allows%20the%20browser%20to%20use%20up%20to,may%20allow%20the%20browser%20to%20use%20more%20storage.

  • 简而言之,很多,至少几百 MB,甚至可能是几百 GB 或更多。浏览器实施各不相同,但可用存储量通常取决于设备上可用的存储量。

    • Chrome 允许浏览器使用多达 80% 的总磁盘空间。一个来源最多可以使用总磁盘空间的 60%。您可以使用 StorageManager API 来确定可用的最大配额。其他基于 Chromium 的浏览器可能允许浏览器使用更多的存储空间。有关 Chrome 实施的详细信息,请参阅 PR #3896
    • Internet Explorer 10 及更高版本最多可以存储 250MB,并且在使用量超过 10MB 时会提示用户。
    • Firefox 允许浏览器使用多达 50% 的可用磁盘空间。eTLD+1 组(例如 example.com 、www.example.com 和 foo.bar.example.com最多可以使用 2GB。您可以使用 StorageManager API 来确定还有多少空间可用。
    • Safari(桌面版和移动版)似乎允许 1GB 左右。当达到限制时,Safari 会提示用户,同时以 200MB 的增量增加限制。我找不到有关这方面的任何官方文档。
      • 如果将 PWA 添加到移动 Safari 的主屏幕上,它似乎会创建一个新的存储容器,并且 PWA 和移动 Safari 之间不会共享任何内容。一旦已安装的 PWA 达到配额,似乎就没有任何方法可以请求额外的存储空间。

    过去,如果站点存储的数据超过某个阈值,浏览器会提示用户授权使用更多的数据。例如,如果来源的使用量超过 50MB,浏览器会提示用户允许它最多存储 100MB,然后以 50MB 的增量再次询问。

    如今,大多数现代浏览器都不会提示用户,而是允许站点最多用完为其分配的配额。Safari 好像是例外,它会在 750MB 时进行提示,请求允许存储最多 1.1GB。如果来源尝试使用的量超过为其分配的配额,则进一步尝试写入数据将失败。

如何检查有多少可用存储? #

许多浏览器中,您可以使用 StorageManager API 来确定来源的可用存储量及其目前使用的存储量。它会报告 IndexedDB 和缓存 API 使用的总字节数,还可以计算近似的可用剩余存储空间。

if (navigator.storage && navigator.storage.estimate) {
const quota = await navigator.storage.estimate();
// quota.usage -> 已用字节数。
// quota.quota -> 最大可用字节数。
const percentageUsed = (quota.usage / quota.quota) * 100;
console.log(`您已使用可用存储的 ${percentageUsed}%。`);
const remaining = quota.quota - quota.usage;
console.log(`您最多可以再写入 ${remaining} 个字节。`);
}

StorageManager 尚未在所有浏览器中实施,因此您必须在使用前对其进行功能检测。即使它可用,您仍必须捕获超出配额错误(见下文)。在某些情况下,可用配额可能会超过实际可用存储量。

Chrome 允许浏览器使用多达 80% 的总磁盘空间。一个来源最多可以使用总磁盘空间的 60%。的更多相关文章

  1. 基于.net开发chrome核心浏览器【七】

    这是一个系列的文章,前面六篇文章的地址如下: 基于.net开发chrome核心浏览器[六] 基于.net开发chrome核心浏览器[五] 基于.net开发chrome核心浏览器[四] 基于.net开发 ...

  2. IE/Firefox/Chrome等浏览器保存Cookie的位置

    IE/Firefox/Chrome等浏览器保存Cookie的位置 原文  http://smilejay.com/2013/04/browser-cookie-location/   前面写了篇长文( ...

  3. 基于.net开发chrome核心浏览器

    本文转载自:http://www.cnblogs.com/liulun/archive/2013/04/20/3031502.html 一: 上一篇的链接: 基于.net开发chrome核心浏览器[一 ...

  4. 基于.net开发chrome核心浏览器【四】

    原文:基于.net开发chrome核心浏览器[四] 一: 上周去北京出差,给国家电网的项目做架构方案,每天都很晚睡,客户那边的副总也这样拼命工作. 累的不行了,直接导致第四篇文章没有按时发出来. 希望 ...

  5. 基于.net开发chrome核心浏览器【三】

    原文:基于.net开发chrome核心浏览器[三] 本篇我们讲解怎么用CefGlue开发一个最简单的浏览器 一: CefGlue是建立在Cef项目之上的,Cef项目是C/C++的项目:CefGlue只 ...

  6. 基于.net开发chrome核心浏览器【二】

    原文:基于.net开发chrome核心浏览器[二] 一: 上一篇的链接: 基于.net开发chrome核心浏览器[一] 二: 相关资源介绍: chrome Frame: 让IE有一颗chrome的心, ...

  7. 基于.net开发chrome核心浏览器【一】

    原文:基于.net开发chrome核心浏览器[一] 说明: 这是本系列的第一篇文章,我会尽快发后续的文章. 源起 1.加快葬送IE6浏览器的进程 世界上使用IE6浏览器最多的地方在中国 中国使用IE6 ...

  8. chrome 等浏览器不支持本地ajax请求的问题

    chrome 等浏览器不支持本地ajax请求的问题 XMLHttpRequest cannot load file:///D:/WWW/angularlx/ui-router-test/templat ...

  9. 使用 Floccus 插件和坚果云同步 Chrome 类浏览器书签

    使用 Floccus 插件和坚果云同步 Chrome 类浏览器书签 魏刘宏  2019 年 11 月 22 日 如题,本文讨论在使用 Chromium 内核的浏览器上,使用 Floccus 插件,配合 ...

  10. webdriver(chrome无头浏览器)

    '''chrome无头浏览器''' from selenium.webdriver.chrome.options import Options # 导入相应的类 from selenium impor ...

随机推荐

  1. FastAPI权限验证依赖项究竟藏着什么秘密?

    title: FastAPI权限验证依赖项究竟藏着什么秘密? date: 2025/06/12 06:53:53 updated: 2025/06/12 06:53:53 author: cmdrag ...

  2. 干货|三个维度详解 Taier 本地调试原理和实践

    在平时和开发者们交流的过程中,发现许多开发朋友尤其是新入门 Taier 的开发者,对于本地调试都有着诸多的不理解和问题.本文就大家平时问的最多的三个问题,服务编译,配置&本地运行,如何在 Ta ...

  3. 详解 Flink Catalog 在 ChunJun 中的实践之路

    我们知道 Flink 有Table(表).View(视图).Function(函数/算子).Database(数据库)的概念,相对于这些耳熟能详的概念,Flink 里还有一个 Catalog(目录) ...

  4. Potree 004 点云点大小形状设置

    点云数据就是靠海量的点显示来模拟真实世界的.点大小设置就比较重要,例如如果数据稀疏,点显示的时候,可以设置稍微大一些.如果点数据比较密集,则可以显示小一些. 在Potree中,点云定义为PointCl ...

  5. net core api 跨域 Cors 找不到 “Access-Control-Allow-Origin”

    public static void AddCorsSetup(this IServiceCollection services) { services.AddCors(c => { //允许任 ...

  6. HTML CSS 垂直居中布局

    display:flex;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-line ...

  7. 最新版本 IDEA 2022.2.X 2022.3.X 激活(附激活码)适用于DataGrip

    背景 截止至2023-02-14,IDEA最新版本为2022.3.2,对于某些想体验最新版IDEA却暂时没法入正的开发者来说,不能体验新版非常遗憾. 重置IDEA体验版的插件IDE Eval Rese ...

  8. iPaaS与ESB: 解密企业集成领域的两大利器差异

    随着信息化发展不断深入,企业在不同的阶段引入了不同的应用.系统和软件,每个系统都有着独立的信息,渐渐的出现"数据孤岛"的现象.在这样的现象下,不同的企业集成系统应运而生,iPaaS ...

  9. SciTech-Physics-Relativity:相对论: 正解"相对论" + "光速不变原理"+VS 声波、水波 的传播速度

    SciTech-Physics-Relativity:相对论: Relativity:相对论 Relativity:相对论 分 "广义相对论"和"狭义相对论". ...

  10. PACS实施基础知识