是否有任何方法可以重置/清除浏览器在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')删除个别项目