清理localstorage_关于本地存储:在javascript中清除localStorage?

时间:2025-01-25 07:14:16

是否有任何方法可以重置/清除浏览器在javascript中的本地存储?

使用此项清除本地存储:

();

如果应用程序在之后重新启动,它仍然存在…

@半烤一点也不。也许你的应用程序又重新设置了?

当我的应用程序启动时,我会调用(),但即使我关闭浏览器、清除缓存等,数据仍然存在。我知道这一点是因为我在初始化时将模型上的"instance"属性设置为随机数,并且对于给定的ID,instance属性总是相同的。

@数字平面将从特定域或所有存储中清除本地存储吗?

这应该更明显。.clear()可以代表任何东西!

clear()将从您所在的特定域中删除所有本地存储密钥和值。由于CORS的原因,javascript无法从任何其他域获取本地存储值。

除了在IE中使用ActiveX错误。为什么…

@bakedinhalf是正确的,它会一直保持,直到你硬刷新页面。当您清除本地存储并在之后立即填充它时,它会恢复以前的内容并向其中添加新项。当您清除本地存储并进行硬刷新时,它是空的,您可以重新开始填充它。

当用户登录并关闭窗口并在几天后返回时,我的应用程序已注销,但本地存储仍满。我如何解决这个问题?

如果清除浏览数据,本地存储也会被删除吗?

如果要从用户的本地存储中删除特定项或变量,可以使用

("name of localStorage variable you want to remove");

嗨,@ajeet如果我不想删除某个特定项目,有没有其他方法?例如'removeitemnotin(key)','remove all except for a defined key'?事先谢谢。

嗨,@shadow如果我不想删除某个特定的项目,有没有其他方法?例如'removeitemnotin(key)','remove all except for a defined key'?事先谢谢。

我为我的问题找到了一个解决方案:if((specialRkey)==null)();但是如果你有更好的解决方案,一定要告诉我。谢谢。

@学习者,所以你想删除除一个特定钥匙以外的所有钥匙,对吗?为此,你可以做这样的事情。

是的,这也可能有效。再次感谢。:)

也可以:获取值,再次清除和设置值,更通用。let tmp = (''); (); ('')

(); //try this to clear all local storage

这里有一个函数,允许您删除所有本地存储项,但有例外。您将需要jquery来执行此函数。你可以下载注册表。

你可以这样称呼它

let clearStorageExcept = function(exceptions) {

let keys = [];

exceptions = [].concat(exceptions); // prevent undefined

// get storage keys

$.each(localStorage, (key) => {

(key);

});

// loop through keys

for (let i = 0; i < ; i++) {

let key = keys[i];

let deleteItem = true;

// check if key excluded

for (let j = 0; j < ; j++) {

let exception = exceptions[j];

if (key == exception) {

deleteItem = false;

}

}

// delete key

if (deleteItem) {

(key);

}

}

};

奇怪的是,undefined是setItem和getItem的有效密钥。

@电子书是的,可能看起来很奇怪,但不,真的不是。本地存储的功能与将键转换为字符串的对象类似。例如,使用undefined作为这样的键:(undefined, 'example Txt!')实际上会将它存储在名为'undefined'的键下,正如您在运行以下代码时看到的那样。(('undefined'))将输出example Txt!。

首先,您需要检查以确保启用了本地存储。我建议这样做:

var localStorageEnabled = false;

try { localStorageEnabled = !!localStorage; } catch(e) {};

是的,您可以(在某些情况下)检查localstorage是否是window对象的成员。但是,如果您甚至尝试访问索引"localstorage",则有iframe沙盒选项(以及其他选项)会引发异常。因此,出于最佳实践的原因,这是检查是否启用了本地存储的最佳方法。然后,您可以像这样清除本地存储。

if (localStorageEnabled) ();

例如,在WebKit浏览器中发生错误后,可以清除本地存储。

// clears the local storage upon error

if (localStorageEnabled)

= (localStorage);

在上面的例子中,您需要.bind(window),因为没有它,函数将在window对象的上下文中运行,而不是在localStorage对象中运行,使它无声地失败。要演示这一点,请看下面的示例:

= ;

相同:

= function(){

(window);

}

();

或10

清除特定项目

("item_name");

To remove particular value by id :

var item_detail = (("key_name")) || [];

$.each(item_detail, function(index, obj){

if (key_id == data('key')) {

item_detail.splice(index,1);

localStorage["key_name"] = (item_detail);

return false;

}

});

本地存储连接到全局window上。当我们在chrome devtools中记录localstorage时,我们看到它有以下API:

我们可以使用以下API删除项目:

():清除整个本地存储

('myItem')删除个别项目