在javascript中清除localStorage?

时间:2011-10-05 21:26:54

标签: javascript local-storage

有没有办法在javascript中重置/清除浏览器的localStorage?

12 个答案:

答案 0 :(得分:1253)

使用它来清除localStorage:

localStorage.clear();

答案 1 :(得分:173)

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

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

答案 2 :(得分:105)

window.localStorage.clear(); //try this to clear all local storage

答案 3 :(得分:11)

这是一个允许您删除所有带有异常的localStorage项的函数。此功能需要jQuery。你可以download the gist

你可以这样称呼它

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);
    }
  }
};

答案 4 :(得分:6)

如果您要清除存储在 localStorage 中的所有项目,则

localStorage.clear();

使用它清除所有存储的密钥。

如果您只想清除/删除特定键/值,则可以使用 removeItem(key)

localStorage.removeItem('yourKey');

答案 5 :(得分:4)

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

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

是的,您可以(在某些情况下)检查localStorage是否是窗口对象的成员。但是,如果您甚至尝试访问索引“localStorage”,那么iframe沙盒选项(以及其他内容)会引发异常。因此,出于最佳实践原因,这是检查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);
}

答案 6 :(得分:2)

如果需要清除本地存储数据使用:

localStorage.clear()

要从本地存储使用中删除特定项目:

localStorage.removeItem('Item')

答案 7 :(得分:1)

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;
                }
            });

答案 8 :(得分:1)

要清除sessionStorage

sessionStorage.clear();

答案 9 :(得分:1)

在此代码中,您提供了不想删除的密钥字符串列表,然后从本地存储中的所有密钥中筛选出这些密钥,然后删除其他密钥。

const allKeys = Object.keys(localStorage);

const toBeDeleted = allKeys.filter(value => {
  return !this.doNotDeleteList.includes(value);
});

toBeDeleted.forEach(value => {
  localStorage.removeItem(value);
});

答案 10 :(得分:0)

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

enter image description here

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

  1. localStorage.clear():清除整个本地存储
  2. localStorage.removeItem('myItem'):要删除单个项目

答案 11 :(得分:0)

这是一个简单的代码,将使用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>

要确认本地存储是否为空,请使用以下代码:

<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,那么您的本地存储将被清除。

相关问题