当 localStorage 已满时会发生什么?

2024-02-16

我已经发现articles http://code.google.com/speed/page-speed/docs/caching.html关于缓存行为,所以我只能假设它没有太大不同,但我想确定一下。

我读到大多数浏览器都有 5MB(给予或接受)的 localStorage,我对浏览器的行为感兴趣?

我知道每个浏览器的行为都不同,但我最感兴趣的是 Safari、Chrome 和 Firefox(因为我认为这些是浏览器)。

  • 上述浏览器会从我的网站删除数据还是会选择“最旧的”或类似的内容?
  • 在这种情况下我的物品会被保存吗?

最重要的是:

  • 可以说,我“滥用”了网站上的本地存储,试图将其全部用完,并且在同一页面中,我正在填充它并尝试保存更多。我会收到警告吗?会不会getItem return null当这种情况发生时或者它是否以某种方式保存在内存中?

  • 如果我尝试保存的项目大于localStorage size?

回答:可以找到答案here https://stackoverflow.com/questions/12508274/does-amplify-store-return-error-or-catch-exception-when-local-storage-limit-exce

  • 据称应该相同的 sessionStorage 是否可以预期相同的行为?

我知道这是很多问题,但我正在尝试理解与该主题相关的所有内容,对于您可以回答的问题的任何部分,我将不胜感激。


首先,一些有用的资源:

  • 网络 存储支持测试 http://dev-test.nemikor.com/web-storage/support-test/- 有一个比较数据存储配额的表 浏览器之间。
  • 简单的 localStorage配额测试 http://arty.name/localstorage.html
  • localStorage 浏览器行为总结 http://diveintohtml5.info/storage.html#limitations
  • W3C spec http://www.w3.org/TR/webstorage/#storage- 指示用户代理(例如浏览器)应如何表现(localStorage 和 sessionStorage)。

回答您的问题时,桌面浏览器的初始最大本地存储配额通常为每个域 5MB。在某些情况下,用户可以调整:

  • Opera:opera:config -> localStorage 的域配额
  • Firefox:关于:配置 -> dom.storage.default_quota

在 Chrome 中,用户似乎没有办法调整此设置,尽管像 Opera 一样,可以使用开发人员工具直接按域编辑 localStorage 数据。

当您尝试在 localStorage 中存储数据时,浏览器会检查当前域是否有足够的剩余空间。 如果是:

  • 数据被存储,如果相同的键已存在,则覆盖值。

If no:

  • 不会存储数据,也不会覆盖现有数据。
  • A QUOTA_EXCEEDED_ERR抛出异常。

在这种情况下,getItem(key)将返回成功存储的最后一个值(如果有)。

(Opera 略有不同,它显示一个对话框,让用户选择增加当前域的存储空间。)

请注意,sessionStorage 和 localStorage 都是同一 Storage 对象的实现,因此它们的行为相似并且错误处理相同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 localStorage 已满时会发生什么? 的相关文章

  • 如何检测元素内容何时发生变化

    我正在寻找一种方法来监视元素内动态填充 无页面重新加载 内容 以便我可以将类添加到另一个元素 到目前为止我有这个 HTML div class message container div class messages error span
  • 引导行之间的垂直间距

    所以我正在研究布局 为了 响应能力 我决定使用 Bootstrap 现在我猜网格系统有问题 我想要的结果如下 1 4 2
  • @font-face 和 font-variant 是个坏主意吗?

    如果我使用 font face字体和font variant small caps对于相同的选择器 字体将回退到 Safari 中的下一个系统默认字体 我该如何解决这个问题 我一开始在创建一个示例来复制您的问题时遇到了一些麻烦 这让我意识到
  • 如何在表格列标题处垂直旋转文本

    我用过这个数据表 http www datatables net 在我的网页上 这是fiddle http jsfiddle net fxju7 2 链接我放置代码的地方 我想要 第一个数字第二个数字列应该垂直旋转 我已经做到了 但是 问题
  • 获取特定选项卡的 URL?

    在 Google Chrome 中 如何获取特定选项卡上显示的页面的 URL 这取决于你如何定义特定选项卡 有许多功能可以获取选项卡 从而返回一个选项卡选项卡对象 http code google com chrome extensions
  • HTML5 仅拖放图像

    我想做的是 如果所有拖动的文件都是图像 则将其删除 但如果有其他文件扩展名 则不要删除它们 而仅删除图像 这是我的尝试 HTML div div JavaScript var dropzone document getElementById
  • Java Web 技术中的 AJAX 自动完成文本框(JSP 和 servlet)

    我需要您的帮助 了解如何使用 Java Web 技术 JSP Servlet 和 AJAX 使 HTML 输入文本元素像 Google 的 AJAX 搜索引擎 输入文本元素一样工作 下拉列表中的数据将来自数据库表 例如分别是 MySQL 或
  • Django:使用条件 {% extends %} 使 {% block "div" %} 成为条件

    我想分享一个 AJAX 和常规 HTTP 调用之间的模板 唯一的区别是一个模板需要扩展 base html html 而另一个则不需要 我可以用 extends request is ajax yesno app base ajax htm
  • 如何在 Lift 框架中添加新页面

    如何在 lift 中的 webapp 目录中添加一个可供用户访问的新页面 目前只能通过index html访问http localhost 8080 com http localhost 8080 or http localhost 808
  • 位图内存不足错误

    我对这个错误有疑问 我从 URL 制作网站图标解析器 我这样做是这样的 public class GrabIconsFromWebPage public static String replaceUrl String url StringB
  • 如何在通过 .ajaxForm() 提交表单之前执行一些操作?

    我正在使用 ajaxForm 框架来发送我的数据 而无需重新加载我的页面 ReplayForm ajaxForm success function data alert Success 现在 我想在提交表单之前检查一些条件 如果条件为假 则
  • 使用 Firefox 插件 sdk 的 nsISocketTransportService

    我正在尝试使用 Firefox 来读取 SSH 横幅 IE 当您最初连接到 SSH 服务器时 服务器会向您发送其横幅 标识服务器软件 并且您向 SSH 服务器发送您的横幅 标识您的客户端软件 为此 我使用以下 URL 中的示例 firefo
  • 在随机位置启动 HTML5

    我有一个大约 2 小时长的音轨 我想在我的网站上使用它 我希望它在页面加载时在随机位置开始播放曲目 使用 HTML5 可以吗 我知道您可以使用 element currentTime 函数来获取当前位置 但是如何在完全下载之前获取曲目的总时
  • 设置双指缩放时精确的滚动位置

    我正在创建一个地图应用程序 它将标记图像放置在画布上并滚动到它 我正在使用浏览器的捏缩放和滚动来放大 缩小地图 然而 我注意到有一些奇怪的行为 我想知道如何解决它 这有点难以解释 但我们开始吧 假设您处于网页的标准缩放级别 无法进一步缩小
  • 将html数据解析成python列表进行操作

    我正在尝试读取 html 网站并提取其数据 例如 我想查看公司过去 5 年的 EPS 每股收益 基本上 我可以读入它 并且可以使用 BeautifulSoup 或 html2text 创建一个巨大的文本块 然后我想搜索该文件 我一直在使用
  • 如何通过 jQuery 中的类获取特定 html 元素的innerHTML?

    我有这样的 HTML 代码 div class a html value 1 div div class a html value 2 div 我怎样才能访问html value 1 and html value 2使用jquery 分别地
  • 如何使整个跨度落入新行?

    这个片段显示了我想要的 http jsfiddle net 945Df 3 http jsfiddle net 945Df 3 div class sup strong a href Rosario Santa Fe Argentina a
  • 适用于移动设备的响应式订单确认电子邮件?

    我从未见过令人惊叹的订单确认 发票电子邮件 即使是最好的 html5 网站也会发送糟糕的订单确认电子邮件 有时是纯文本 我相信这是因为发票通常需要使用表格来显示购买的物品 这在移动设备上实现起来非常困难 我发现了一些让手机上的表格更易于管理
  • 将特定字形与网络字体一起使用

    使用网络字体 我想使用字体功能设置 CSS 中的选项以及跨度类HTML 中 以便使用字体集中的特定替代字形 我需要以正确的语法使用哪些值 GID Unicode 才能定位特定的目标glyph内glyph备择方案 这些功能使用 OpenTyp
  • CSS 精灵按钮

    这些精灵按钮让我抓狂 我几乎可以让他们工作 但不完全是 我正在玩这个非常简单的精灵图像 我有一个 jsfiddle 项目 gt gt 这里 如果你想看的话 但如果你只想看一下 代码就在下面 http jsfiddle net jp2code

随机推荐

  • 角度组件注入问题

    我目前在使用角度组件注入原理时遇到问题 我有一个标头组件 必须在另一个我称为 WelcomePage 组件 的组件中使用 我的目标是标头组件可以使用其父组件的方法和属性 为此 我创建了以下抽象类 export abstract class
  • DOMException:信号在异步调用的 useEffect 中无故中止

    我有一个在严格模式下使用 React 和 GraphQL 的项目 我更新了一些包 现在在包含异步调用的 useEffect 中收到以下错误 useEffect gt const loadTags async gt const data aw
  • Zeromq.node安装错误Ubuntu 12.04:'node-gyp重建'

    我正在尝试安装ZeroMQ节点 https github com JustinTulloss zeromq node using npm install zmq 但是 我不断收到以下错误 任何帮助将非常感激 gyp ERR build er
  • origin/master 和 master 有什么区别?

    有什么区别 基本上我想用 master 来 rebase 我的分支
  • Python smtplib sendmail() 不适用于主题/正文

    每当我尝试使用sendmail sender reciever message 它成功发送了电子邮件 并且主题行很好 但电子邮件的 正文 总是丢失 这是我的完整代码 s smtplib SMTP smtp gmail com 587 s e
  • Java 应用程序有办法检测屏幕是否锁定吗?

    我正在寻找一种方法来了解 Java 应用程序 withoutJNI 它是一个多平台应用程序 可以检测屏幕是否被锁定 仅供参考 我们的应用程序在用户工作时记录时间 我们希望它在屏幕锁定时自动停止记录 而不是用户必须明确地这样做 我认为没有一个
  • 如何使用ACR122U-A9进行卡模拟

    我有一个 ACR122U A9 我想用它进行卡模拟 请问谁做过这一点 你能给我一些建议吗 现在我还有其他问题 当我将白色智能卡放在这个 NFC 读卡器上时 LED 仅闪烁一次 但是当我把手机放在上面时 LED 总是闪烁 直到手机拔出 ACR
  • 使用 Sentiwordnet 3.0

    我计划使用 Sentiwordnet 3 0 进行情感分类 有人可以澄清一下 Sentiwordnet 中与单词相关的数字代表什么吗 例如排名 5 中的 5 是什么意思 另外对于 POS 来说 用来表示副词的字母是什么 我假设 a 是形容词
  • 数组 - foreach 带来 ->致命错误:无法使用类型的对象

    所以 我对这个数组很生气 第二天让我感到痛苦 我正在开发一个 OOP PHP 脚本 我得到一个数组 Array 0 gt Project Object project id gt 1 title gt Some Name date gt 2
  • 具有动态字段的 Angular Reactive Form

    我目前正在与 Angular 形式数组作斗争 我有一个动态添加字段的表单 我已经创建了表单对象 this otherDataForm this fb group 我添加了这样的动态字段 addField field CustomFormFi
  • 在C#中通过串口发送ctrl+C?

    How can I send my device ctrl c through serial port in C 串行端口不传输密钥 它们传输字节 通常是 字符的 ASCII 表示形式 Keys ControlKey Keys C 与感知
  • 在 Mongoid 中使用 AND 和 OR 的组合

    我想构造一个以下形式的查询 select from some table where field1 x or field2 y and field3 z or field4 w 通过阅读文档 我认为它应该看起来像这样Mongoid Some
  • Delphi:如何响应WM_SettingChange/WM_WinIniChange?

    我需要知道我的申请何时收到WM SETTINGCHANGE http msdn microsoft com en us library ms725497 v VS 85 aspx消息 以前称为WM WININICHANGE http msd
  • 怎么躲得过感叹号啊!在cmd脚本中?

    当我有setlocal ENABLEDELAYEDEXPANSION在cmd脚本中设置有什么方法可以逃脱 我想用作命令的参数 echo off setlocal ENABLEDELAYEDEXPANSION echo I want to g
  • R studio 4.0 上的 easi 包

    easi 包 精确仿射石索引模型 有点旧 但对我的目的仍然有用 考虑到它是基于 R 2 15 3 构建的 有人设法将它安装在 Rstudio 4 上吗 谢谢 我分叉了 github 存储库并更新了源代码以修复Error in class f
  • Excel VBA 自动筛选添加空行

    我修改了 Excel 宏 之前它是逐行进行的 现在它会批量过滤结果和复制 效率更高 我现在遇到的问题是 自动过滤器向工作表中添加了数百万个空行 但我无法确定为什么会这样做 CountryCodes 是一个字典 其中包含过滤器的值 Crite
  • iOS 多个 AVPlayer 对象导致音频/视频同步丢失

    我一直在尝试使用两种不同的AVQueuePlayer我的应用程序中的对象 第一个播放器播放一系列通过网络传输的短视频剪辑 第二个对象仅播放一个视频 但长度要长得多 它也是流式传输的 我已验证所有剪辑都具有正确的音频 视频同步 我注意到的是
  • 从缓存的选择器遍历 DOM 是否比在 DOM 中查找 ID 元素更快?

    关于通过 class 或 id 或其他选择器查找元素是否更快存在很多问题 我对此不感兴趣 我想知道你是否有 var link this let s say you re in a click handler 通过这样做找到容器是否更快 va
  • 等待元素中的文本发生更改

    请建议 Selenium 是否有一个好的选项可以等待元素内的文本发生更改 状况 页面不会自动重新加载 我需要的文本元素会动态重新加载 该数据更新所需时间未知 预期文本未知 它是一个时间戳 我编写了一个方法 每 1 秒 或我设置的任何时间 检
  • 当 localStorage 已满时会发生什么?

    我已经发现articles http code google com speed page speed docs caching html关于缓存行为 所以我只能假设它没有太大不同 但我想确定一下 我读到大多数浏览器都有 5MB 给予或接受