70

如何完全清除localstoragesessionStoragecookies在 javascript 中?

有什么办法可以在清除这些值后取回它们?

4

3 回答 3

182

如何彻底清除本地存储

localStorage.clear();

如何彻底清除会话存储

sessionStorage.clear();

[...] 饼干 ?

var cookies = document.cookie;

for (var i = 0; i < cookies.split(";").length; ++i)
{
    var myCookie = cookies[i];
    var pos = myCookie.indexOf("=");
    var name = pos > -1 ? myCookie.substr(0, pos) : myCookie;
    document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
}

清除这些后有什么办法可以恢复价值吗?

,没有。但是,如果这与安全问题有关,您不应该依赖它。

于 2013-04-04T07:19:05.567 回答
1

标准的Web Storage并没有说明任何关于恢复这些内容的内容。所以不会有任何标准的方法来做到这一点。您必须通过浏览器实现这些的方式,或者在删除它们之前找到一种备份它们的方法。

于 2013-04-04T07:10:14.290 回答
1

在通过 javascript 删除它们后,无法通过浏览器中的 javascript 检索 localStorage、sessionStorage 或 cookie 值。

如果您真正要问的是是否有其他方式(从浏览器外部)来恢复该数据,那是一个不同的问题,答案将完全取决于特定的浏览器以及它如何实现每种类型的存储数据的。

例如,Firefox 将 cookie 存储为单独的文件。当 cookie 被删除时,它的文件也被删除。这意味着无法再通过浏览器访问 cookie。但是,我们知道,有时可以从浏览器外部使用系统工具检索已删除文件的内容。

如果您想进一步研究这一点,您必须了解每个浏览器如何在每个感兴趣的平台上存储每种数据类型,然后探索该类型的存储是否有任何恢复策略。

于 2013-04-04T07:03:36.293 回答