为什么LocalStorage未被删除?

时间:2013-07-04 07:13:26

标签: html5 google-chrome cookies google-chrome-extension local-storage

我知道之前有人问过,但这正是我所经历的 - 我正在开发一个需要保留一些数据的Chrome扩展程序,而我正在使用localStorage。当我转到设置 - >工具 - >清除浏览数据并检查所有内容(包括“从开始时间开始”)后,我希望我的后台页面的localStorage可以清除。 然而一切都保持不变。 本地存储未被删除! 这不是我不喜欢这种行为,它实际上对我的应用程序非常好,但这是正常的吗?一旦用户尝试清除所有内容,就不应该删除localStorage,就像cookie应该删除一样?

P.S 我发现这个好的博客要求并试图回答同样的问题: http://sharonminsuk.com/blog/2011/03/21/clearing-cache-has-no-effect-on-html5-localstorage-or-sessionstorage/ 似乎从浏览器到浏览器的行为更改。我谈到的行为发生在Chrome 28.0.1500.71 m

2 个答案:

答案 0 :(得分:2)

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

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

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

只有当代码托管在域中时,Chrome才会清除localStorage数据。

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

使用HTML / JS将此URL保存为本地驱动器以重现该错误... https://html5dataprivacy.github.io/

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

  • 以改变数据的方式与存储数据的页面进行交互

  • 清除历史中的所有内容,直到时间开始

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

结果:保留了javascript存储空间,其他人可以看到您的数据......

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

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

解决方法:在您开始清理事务之后,必须打开控制台并键入“localStorage.clear()”

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

答案 1 :(得分:-1)

storageArea.remove(string or array of string keys, function callback)
你试过这个吗?输入您的扩展程序代码并将其命名为