Answers:
使用此命令清除localStorage:
localStorage.clear();
clear()
将从您所在的特定域中删除所有localStorage键和值。由于CORS,Javascript无法从任何其他域获取localStorage值。
如果要从用户的本地存储中删除特定的项目或变量,可以使用
localStorage.removeItem("name of localStorage variable you want to remove");
var key; for (var i = 0; i < localStorage.length; i++) { key = localStorage.key(i); if(key != particularKey){ localStorage.removeItem(key); } }
let tmp = localStorage.getItem('<your-name>'); localStorage.clear(); localStorage.setItem('<your-name>')
这是一个允许您删除所有localStorage项目的函数,但有例外。您需要此功能的jQuery。您可以下载要点。
你可以这样称呼它
let clearStorageExcept = function(exceptions) {
let keys = [];
exceptions = [].concat(exceptions); // prevent undefined
// get storage keys
$.each(localStorage, (key) => {
keys.push(key);
});
// loop through keys
for (let i = 0; i < keys.length; i++) {
let key = keys[i];
let deleteItem = true;
// check if key excluded
for (let j = 0; j < exceptions.length; j++) {
let exception = exceptions[j];
if (key == exception) {
deleteItem = false;
}
}
// delete key
if (deleteItem) {
localStorage.removeItem(key);
}
}
};
undefined
是一个有效的密钥setItem
和getItem
localStorage.setItem(undefined, 'example Txt!')
,它将实际存储在名为'undefined'
以下运行时所看到的键下。console.log(localStorage.getItem('undefined'))
将输出example Txt!
。
首先,您需要检查以确保启用了localStorage。我建议这样做:
var localStorageEnabled = false;
try { localStorageEnabled = !!localStorage; } catch(e) {};
是的,您可以(在某些情况下)仅检查localStorage是否为窗口对象的成员。但是,有iframe沙箱选项(除其他外),即使您尝试访问索引“ localStorage”,也会引发异常。因此,出于最佳实践的原因,这是检查是否启用了localStorage的最佳方法。然后,您可以像这样清除localStorage。
if (localStorageEnabled) localStorage.clear();
例如,您可以在类似Webkit的浏览器中发生错误后清除localStorage。
// clears the local storage upon error
if (localStorageEnabled)
window.onerror = localStorage.clear.bind(localStorage);
在上面的示例中,您需要使用,.bind(window)
因为没有它,该localStorage.clear
函数将在window
对象的上下文中运行,而不是使localStorage
对象默默地失败。为了证明这一点,请看下面的例子:
window.onerror = localStorage.clear;
是相同的:
window.onerror = function(){
localStorage.clear.call(window);
}
如果要清除存储在localStorage中的所有项目,则
localStorage.clear();
使用此清除所有存储的密钥。
如果您只想清除/删除特定的键/值,则可以使用removeItem(key)。
localStorage.removeItem('yourKey');
localStorage.clear();
要么
window.localStorage.clear();
清除特定项目
window.localStorage.removeItem("item_name");
要通过id删除特定值:
var item_detail = JSON.parse(localStorage.getItem("key_name")) || [];
$.each(item_detail, function(index, obj){
if (key_id == data('key')) {
item_detail.splice(index,1);
localStorage["key_name"] = JSON.stringify(item_detail);
return false;
}
});
这是一个简单的代码,将使用javascript清除存储在浏览器中的本地存储
<script type="text/javascript">
if(localStorage) { // Check if the localStorage object exists
localStorage.clear() //clears the localstorage
} else {
alert("Sorry, no local storage."); //an alert if localstorage is non-existing
}
</script>
要确认localstorage是否为空,请使用以下代码:
<script type="text/javascript">
// Check if the localStorage object exists
if(localStorage) {
alert("Am still here, " + localStorage.getItem("your object name")); //put the object name
} else {
alert("Sorry, i've been deleted ."); //an alert
}
</script>
如果返回null,则将清除您的本地存储。