如何检测本地存储何时被清除

2023-12-31

我在页面 A 中添加了本地存储中的一些值。当我转到页面 B 时,本地存储不应被清除,但确实如此。这是一个程序错误。但是,我无法正确跟踪它以了解这种情况何时发生。

我尝试执行 setInterval 来每 1 秒在控制台中记录一次本地存储的值,但当我导航出去时,我会丢失我的值。

我想知道是否有一种方法或工具可以确定在什么时候我像调用堆栈一样清除本地存储,而不是在 F12 开发工具中跟踪断点。我进行了搜索(CTRL + SHIFT + F)来查找localStorage.clear()但在我的结果中,我清除 LS 的地方不相关且从未到达。


您可以尝试使用storage https://developer.mozilla.org/en-US/docs/Web/Events/storage event.

当存储区域(localStorage 或 sessionStorage)已被修改。

Example:

window.addEventListener('storage', function(e) {
  //console.log(e.key, e.oldValue,e.newValue, e.url, e.storageArea);
});

重要的:

这在进行更改的同一页面上不起作用 - 它是 这确实是域中其他页面使用存储进行同步的一种方式 所做的任何更改。

Since 仅当同一源内的另一个页面中的存储对象发生更改时才会触发此事件,我们必须在页面 B 中添加事件侦听器并更改页面 A 中的存储对象。

由于文档是在堆栈片段中沙箱化的,因此我们必须使用 jsfiddle。

Page B https://jsfiddle.net/rickyruizm/27u1d2ry/

Page A https://jsfiddle.net/rickyruizm/a247pa6y/


如何运行示例:

  1. 打开两个页面。
  2. 转到页面 A 并运行 fiddle。
  3. 检查B页结果。

第一次运行后,您必须使用以下命令更改存储键的任何值localStorage.setItem()在页面 A 中再次触发该事件。

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

如何检测本地存储何时被清除 的相关文章

  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 如何正确取消引用然后删除 JavaScript 对象?

    我想知道从内存中完全取消引用 JavaScript 对象的正确方法 确保删除时不会在内存中悬空 并且垃圾收集器会删除该对象 当我看这个问题时在 JavaScript 中删除对象 https stackoverflow com questio
  • 如何计算特定字符在字符串中出现的次数

    我正在尝试创建一个函数来查看数组中的任何字符是否在字符串中 如果是 有多少个 我尝试计算每一种模式 但是太多了 我尝试使用 Python 中的 in 运算符的替代方案 但效果不佳 function calc fit element var
  • 改变 JavaScript 中的顶部填充

    以下是我在 css 中设置顶部填充的方法 body font size font size px margin 0 padding 100px 0 20px 0 width 100 important 如何使用最简单的 javascript
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • 使用 Javascript 设置 cookie [重复]

    这个问题在这里已经有答案了 我正在尝试构建我的第一个移动应用程序 它需要连接到我的 mysql 数据库并使用 json 返回数据 这很好 目前我有一个登录系统 一旦确定用户名和密码存在 它就会返回一条成功消息 对于下一步 我想在我的页面上使
  • Google Maps API (v3) 添加/更新标记

    编辑 它现在可以工作 但如果用户不允许或没有基于位置的服务 则不会加载 请参阅 jsfiddle 示例接受的答案评论 我已经浏览了一些教程和问题 但我无法安静地理解正在发生的事情 或者在这种情况下 没有发生 当用户单击链接时 我正在加载地图
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • 滚动顶部不符合预期

    Note 由于上次忘记奖励而重新开放赏金 A Woff 大师已经给出答案 我想在用户展开某一行时到达该行 这样当最后一个可见行展开时 用户不必向下滚动即可查看内容 I used example tbody on click td green
  • 使用 Makefile 项目在 Visual Studio 中自定义调试命令

    我在 Visual Studio 2010 中有一个由 Makefile 支持的项目 实际上使用 NAnt 但这不是重点 构建过程的输出是一个 elf 文件 我有一个单独的非 VStudio 调试器 可以在该 elf 文件上运行来调试它 构
  • 仅当显式选择行时才关闭 ui-bootstrap typeahead

    我创建了这个jsBin http jsbin com livuqafe 2 edit来证明我遇到的问题 如果您转到此处 请尝试输入 五 并继续 你的自然反应是输入 五 然后按 Tab 如果你想要 五百 你可以向下箭头一次 但是 在这种情况下
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • 从控制器返回 razor 解析的 Javascript 作为 ViewResult

    我已经成功创建了一个 mvc razor Web 应用程序 它返回已由 razor 解析的 css 文件 每次有背景图像时 我都会有一个 razor 片段 它将 URL 前缀写入图像文件名 CSS 现在看起来像这样 body backgro
  • 自定义后退按钮标题并保留滑动返回手势

    问题 我想在弹出的视图控制器中自定义导航后退按钮标题 例如 Whatsapp 但是 如果您使用 在弹出视图控制器中分配新的 backBarButtonItem 将禁用向后滑动手势 self navigationController inte
  • Active Directory 跨域 - 使用PrincipalContext 的组成员

    我试图通过使用 C 中的 DirectoryServices AccouneManagement 命名空间类来获取给定活动目录组的成员 如果我为特定域指定了主体上下文对象构造函数 那么每当我访问来自其他域的组中的成员时 我都会遇到以下错误
  • 为什么 Spark 中聚集和折叠两个不同的 API?

    当使用Scala标准库时 我可以这样做 scala gt val scalaList List 1 2 3 scalaList List Int List 1 2 3 scala gt scalaList foldLeft 0 acc n
  • 你能写一个到锚点的 301 重定向吗?

    这是有效且正确的吗 RewriteRule myOldPage html index php info R 我特别感兴趣的是 info part 是的 这是一个有效的 301 重定向 HTTP标准 http www w3 org Proto
  • 通过 OR 或 AND 连接(粘合)where 条件(Arel、Rails3)

    我有一些complex查询 使用子查询等 并希望使用 OR 或 AND 语句将它们粘合在一起 例如 where1 table where where2 table where 我想要类似的东西 where3 where1 or where2
  • iPhone 开发 - 内存管理经验教训

    我需要内存管理方面的课程 我有一个使用多个视图 大约 10 个 的应用程序 其中一些附加到选项卡控制器 问题是我正在使用图像 许多图像是我从网络服务加载的 我面临以下问题 当我在表视图中滚动时 内存不断增加 为什么 我从 Apple 网站检
  • 如何将 aria 标签分配给侧边栏

    我正在使用 Siteimprove 的 chrome 扩展浏览客户的网站来测试合规性 我在一个侧边栏区域的两侧收到 具有相同名称的地标 错误 在functions php的注册侧边栏代码中 我有 before widget gt
  • 如何使用单个按钮创建 Firefox 插件(与 Echofon 相同)?

    I want to how to create Firefox plugin with custom compact menu same like Firefox window Just now I saw in Echofon Here
  • 显示列表视图时在后台下载图像

    我有一个列表 其中包含我在列表中显示的图像的所有 URI 现在我想在后台运行一个线程 从网络获取这些图像并将它们存储在 SD 卡上 因此 当我单击列表中的特定元素而不是从 Web 获取时 它应该从新活动中的 SD 卡获取 我该怎么做呢 Yo
  • 图书馆插件:: 找不到图书馆资源

    我目前正在将 Android 库转换为 Unity 插件 我已经走了很长一段路 但现在我陷入了无法从 Unity 访问库资源的地步 应用程序运行良好 直到我实际从库中调用视图 这是我当时收到的错误日志 12 12 13 37 36 495
  • iPhone 12 和 iPhone 13 上的颠倒方向

    我有一个 iOS 应用程序 可以在运行 iOS 15 6 的 iPhone 7 上上下旋转 然而 同一个应用程序在运行 iOS 15 6 1 的 iPhone 13 或 iPhone 12 上不会上下旋转 Apple 是否在较新的设备或 i
  • Android 中“FLAG_BLUR_BEHIND”的替代方案?

    我可以看到 当我使用 API 演示中所示的相同标志来模糊背景时 我收到一条警告 表明它已被弃用 字段 WindowManager LayoutParams FLAG BLUR BEHIND 已弃用 我读过相关内容 发现 不再支持模糊 这是否
  • 重新创建 Fabric.js 画布并导出为图像?

    我有一个画布 用户可以在其中使用另一个画布中的图像创建设计div他们点击 将其发送到 Fabric js 画布 并在其中移动等等 由于画布的大小是width 270 and height 519 比成品小 我需要用尺寸为的画布重新创建它wi
  • 使用 Apple Enterprise Developer Program 部署 iOS 应用程序

    我已经为我需要部署的公司创建了一个应用程序 该应用程序仅供内部使用 因此不会在 App Store 上提供 我是否需要为要在其设备上安装应用程序的每个人提供 UDID 这是不可能的 因为有 500 名员工 是否有人拥有有关仅使用企业开发人员
  • 指定 64 位对齐

    给定一个结构定义 例如 struct foo int a b c 指定它应始终与 64 位地址对齐的最佳 最简单 最可靠和可移植 方法是什么 即使在 32 位版本上也是如此 我正在使用 C 11 和 GCC 4 5 2 并希望也支持 Cla
  • 上传的图像在canvas中拖动,在html5中可触摸和旋转

    我是 Html5 的新手 我正在上传图像 但它没有显示在画布中 如果我提供图像的直接来源 那么它将起作用 我从此链接获取帮助javascript 上传图像文件并将其绘制到画布中 https stackoverflow com questio
  • 包含“点目录”时的 Path.relativize 行为

    About Path relativize你可以阅读的方法 此方法尝试构造一个相对路径 当 根据此路径解析 产生一个定位相同文件的路径 作为给定的路径 例如 在 UNIX 上 如果此路径是 a b 并且 给定路径是 a b c d 那么生成
  • 有没有办法更快地渲染点OpenGL

    我需要在 openGL 中可视化大约 50k 60k 点 我设法将它们全部打印出来 但是当我使用旋转时 每次旋转之间需要花费很多时间 因为它只是打印每一帧的所有数据 有没有办法一次性打印所有数据并冻结数据的导入 以便保留图像但停止处理 de
  • 如何检测本地存储何时被清除

    我在页面 A 中添加了本地存储中的一些值 当我转到页面 B 时 本地存储不应被清除 但确实如此 这是一个程序错误 但是 我无法正确跟踪它以了解这种情况何时发生 我尝试执行 setInterval 来每 1 秒在控制台中记录一次本地存储的值