Bnicholas
Bnicholas

Reputation: 14141

Clearing localStorage in javascript?

Is there any way to reset/clear the browser's localStorage in javascript?

Upvotes: 913

Views: 801582

Answers (14)

Ajeet Lakhani
Ajeet Lakhani

Reputation: 3848

If you want to remove a specific Item or variable from the user's local storage, you can use

localStorage.removeItem("name_of_localStorage_variable_to_remove");

Upvotes: 271

Ishara M
Ishara M

Reputation: 287

If someone is looking for a way to clear the localStorage whenever a browser tab is closed, the below code works. (sample use case: keep some copied data in localStoarge, to paste on another tab - but at the same time, needs the cache to not appear on new tabs, whenever all the previous tabs gets closed)

window.onbeforeunload = () => {
  // get localStorage item with specified key
  const storage = JSON.parse(localStorage.getItem('MY_KEY'));
  // clear cache if exists
  if (!isNil(storage)) localStorage.removeItem('MY_KEY');
};

It adds an eventListener to the window, to detect tab closing and just before closed, it clears the tab's localStorage (of specified key). It will not clear localStorage (of the same key) on other tabs.

This is a great solution, if we want to clear localStorage only in the closed tab, and keep the localStorage (of the same key) on other tabs intact.

So that,

  1. as long as a user keeps one tab opened, the user can leverage the localStorage cache, and
  2. after all the tabs are closed, the localStorage will not appear on new tabs.

Upvotes: 2

user18889997
user18889997

Reputation:

Manual Button:

<script>
function ask() {
if (confirm('Clear localStorage?') == true) {
localStorage.clear()
location.reload()
}
else {
alert('Nothing happend')
}
}
}
</script>
<style>
button {border-width:0px;background-color:#efefef;padding:5px;width:5cm;margin:5px;}
</style>
<button onclick=ask()>Clear localStorage</button>

Upvotes: 1

Pramodi Samaratunga
Pramodi Samaratunga

Reputation: 565

If you need to clear the local storage data use:

localStorage.clear()

To remove a particular item from the local storage use :

localStorage.removeItem('Item')

Upvotes: 21

Joseph Moore
Joseph Moore

Reputation: 384

This code here you give a list of strings of keys that you don't want to delete, then it filters those from all the keys in local storage then deletes the others.

const allKeys = Object.keys(localStorage);

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

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

Upvotes: 3

Moshiur Rahman
Moshiur Rahman

Reputation: 1642

If you want to clear all item you stored in localStorage then

localStorage.clear();

Use this for clear all stored key.

If you want to clear/remove only specific key/value then you can use removeItem(key).

localStorage.removeItem('yourKey');

Upvotes: 13

amaroko
amaroko

Reputation: 36

Here is a simple code that will clear localstorage stored in your browser by using 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>

To confirm if localstorage is empty use this code:

<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>

if it returns null then your localstorage is cleared.

Upvotes: 1

m-farhan
m-farhan

Reputation: 1426

To clear sessionStorage

sessionStorage.clear();

Upvotes: 2

Willem van der Veen
Willem van der Veen

Reputation: 36660

Localstorage is attached on the global window. When we log localstorage in the chrome devtools we see that it has the following APIs:

enter image description here

We can use the following API's for deleting items:

  1. localStorage.clear(): Clears the whole localstorage
  2. localStorage.removeItem('myItem'): To remove individual items

Upvotes: 16

vino
vino

Reputation: 117

localStorage.clear();

or

window.localStorage.clear();

to clear particular item

window.localStorage.removeItem("item_name");

To remove particular value by 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;
                }
            });

Upvotes: 9

Christian
Christian

Reputation: 2200

Here is a function that will allow you to remove all localStorage items with exceptions. You will need jQuery for this function. You can download the gist.

You can call it like this

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

Upvotes: 14

Jack G
Jack G

Reputation: 5351

First things first, you need to check to make sure that localStorage is enabled. I would recommend doing it like this:

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

Yes, you can (in some cases) just check to see if the localStorage is a member of the window object. However, there are iframe sandboxing options (among other things) that will throw an exception if you even attempt to access the index 'localStorage'. Thus, for best-practices reasons, this is the best way to check to see if the localStorage is enabled. Then, you can just clear the localStorage like so.

if (localStorageEnabled) localStorage.clear();

For example, you could clear the localStorage after an error occurs in webkit browsers like so.

// clears the local storage upon error
if (localStorageEnabled)
  window.onerror = localStorage.clear.bind(localStorage);

In the above example, you need the .bind(window) because without it, the localStorage.clear function will run in the context of the window object, instead of the localStorage object making it silently fail. To demonstrate this, look at the below example:

window.onerror = localStorage.clear;

is the same as:

window.onerror = function(){
    localStorage.clear.call(window);
}

Upvotes: 6

Naftali
Naftali

Reputation: 146360

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

Upvotes: 130

Digital Plane
Digital Plane

Reputation: 38284

Use this to clear localStorage:

localStorage.clear();

Upvotes: 1643

Related Questions