0

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

PS我发现这个很好的博客询问并尝试回答同样的问题: 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

4

2 回答 2

2

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

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

当您清除所有浏览器数据时,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 上回答 :)

于 2017-04-19T23:27:10.433 回答
-1
storageArea.remove(string or array of string keys, function callback)

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

于 2013-07-04T07:16:50.433 回答