关于 html:为什么 LocalStorage 保持未删除? | 珊瑚贝

Why LocalStorage Stays Undeleted?


我知道以前有人问过这个问题,但这就是我正在经历的 –
我正在开发一个需要保留一些数据的 Chrome 扩展程序,并且我正在使用 localStorage 。当我转到 Settings->Tools->Clear Browsing Data 并检查所有内容(包括\\’从一开始\\’)时,我希望我的背景页面的 localStorage 会清除。
然而,一切都保持不变。本地存储没有被删除!
并不是我不喜欢这种行为,它实际上对我的应用程序来说非常棒,但这正常吗?一旦用户尝试清除所有内容,localStorage 是否不应该删除,就像 cookie 应该删除一样?

附言
我发现这个不错的博客询问并尝试回答相同的问题:
http://sharonminsuk.com/blog/2011/03/21/clearing-cache-has-no-effect-on-html5-localstorage-or-sessionstorage/
似乎行为从 browser 更改为 browser 。我谈到的行为发生在 Chrome 28.0.1500.71 m


此错误不是正常行为。 (回答你的问题)

我称这是一个错误,因为有人可能正在图书馆中使用带有某种类型的本地托管应用程序的计算机。有一个明确的预期,即在称为”时间开始”的清除下,数据不会以任何方式保留

当您清除所有浏览器数据时,Firefox 会清除 localStorage 数据。如果文件存储在本地或托管在 Web 域上,它会执行此操作。

仅当您的代码托管在域上时,Chrome 才会清除 localStorage 数据。

我为这个错误制作了一个视频..
https://youtu.be/CgojKg4v7X0

将此 URL 与 HTML/JS 保存到本地驱动器以重现错误…
https://html5dataprivacy.github.io/

步骤:
– 加载包含 javascript HTML5 存储代码的本地网页

  • 以更改数据的方式与存储数据的页面交互

  • 清除历史上的一切,直到时间的开始

  • 将键盘和鼠标交给图书馆或公共咖啡馆的其他用户…

结果:javascript存储被保留,其他人可以看到你的数据…

预期结果:为键盘上的新人清除数据

注意:截至 2017 年 4 月 19 日,Firefox 当前版本不存在此错误。如果 chrome 在托管域上运行,则不会失败

解决方法:在您清除内容到开始时间后,您必须打开控制台并输入”localStorage.clear()”

ps:请善待。这是我第一次尝试回答 StackOverFlow :)


1
storageArea.remove(string or array of string keys, function callback)

你试过吗?输入您的扩展代码并调用它

  • 好的,但是用户不应该像我尝试的那样自己清除 localStorage 吗?还是只能以编程方式清除 Localstorage?
  • 它可以通过编程方式清除,如果用户需要清除,请在您的扩展中给他选项。
  • 我的意思是-当用户删除浏览器中的所有内容时,为什么不应该清除 localStorage?
  • 据我所知,chrome 只清除浏览数据而不是扩展数据。
  • 您答案中的方法源自 chrome.storage API,与 localStorage/sessionStorage 非常不同。
  • @user2541963″启发我们”是什么意思?该问题专门询问 localStorage API,而您的答案是从不同 API 的文档中复制粘贴,没有解释它与问题的关系。如果您知道答案,请编辑答案以包含解决方案。如果没有,请不要犹豫,删除它。
  • 我只是希望得到答案……请提供正确的答案,以便@Joel_Blum 得到正确的答案。
  • @user2541963 快速查看源代码表明扩展数据是故意保留的。在单元测试的源代码中,可以看到”// 检查扩展和 devtools 数据没有被删除”。


来源:https://www.codenong.com/17463992/

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?