有没有办法清除window.localStorage,即window.localStorage.clear();
,但可以免除某些键/值对?清除本地存储空间,但可以免除某些值。
1
A
回答
5
不,但您可以在变量中保存想要的值,然后清除localStorage
,然后再次将变量中存储的项目添加到变量中。
实施例:
var myItem = localStorage.getItem('key');
localStorage.clear();
localStorage.setItem('key',myItem);
2
是。
for(var k in window.localStorage) {
if(k == "key1" || k == "key2") continue;
// use your preferred method there - maybe an array of keys to exclude?
delete window.localStorage[k];
}
+0
我先看着这种方式;事实证明localStorage规范不包括for/in的枚举。较早版本的FireFox(至少)barf(http://stackoverflow.com/a/5410884/444991)。 – Matt
1
您可以手动执行此操作;
function clearLocalStorage(exclude) {
for (var i = 0; i < localStorage.length; i++){
var key = localStorage.key(i);
if (exclude.indexOf(key) === -1) {
localStorage.removeItem(key);
}
}
}
请注意,我已经有意采取迭代的localStorage
长度和检索匹配的密钥,而不是简单地使用for/in
,作为for/in
localStorage
关键的是没有在规范中指定的长篇大论方式。旧版本的FireFox barf当你for/in
。我不确定更新的版本(more info)。
exclude
预计是您希望从中删除的键数组;
clearLocalStorage(["foo", "bar"]);
相关问题
- 1. 如何清除浏览器上的本地存储空间但不刷新?
- 2. Iphone本地存储自动清除
- 3. 用Casperjs清除本地存储
- 4. 从本地存储清除Ionic用户
- 5. 使用jquery清除某些文本
- 6. Cookie可以存储但不能删除
- 7. TinyMCE清除某些div
- 8. 解析存储本地数据存储对象以缓存并清除它们?
- 9. Firefox插件删除不清除本地存储
- 10. 如何在删除用户时清除本地存储
- 11. HTML5本地存储空间值
- 12. linux grep/sed某些行 - 空间删除
- 13. 清除存储sencha
- 14. Docker本地存储库删除不释放空间
- 15. 避免在地图中存储空值
- 16. EC2用完存储空间,日志等可以被删除?
- 17. 存储和清除垃圾值
- 18. Android EditTextPreference - 清除存储的值
- 19. 如何清除LiveData存储值?
- 20. 除了某些值以外的组
- 21. 何时可以安全删除本地Maven存储库?
- 22. RegExp - 如何清除空间
- 23. 清除向量空间
- 24. 清除MySQL磁盘空间
- 25. 清除并删除S3存储桶
- 26. Kafka Streams - 删除/清除状态存储
- 27. 清除会话存储
- 28. 清除Git存储库
- 29. 清除Android结算本地缓存?
- 30. 如何避免从内部存储清除Glide的缓存?
这几乎是我打算做的,但想看看是否有一个普遍接受的方式,看起来就是这样! – OliverJ90