Search code examples
javascripthtmlfirefoxlocal-storagefirefox-addon-sdk

Localstorage not working as intended in firefox. Returns object of null


I was porting a chrome extension to firefox. Everything is fine in chrome but the following code generates error in firefox.

localStorage.setItem("display_tooltip", false);

data = localStorage.getItem('display_tooltip');
    if(data.display_tooltip)                  //line where error occurs
        display_tooltip = true;
    else
        display_tooltip = false;

I get an error on firefox saying data is null. Where am I doing it wrong. The same code works perfectly when I run the chrome extension. I am using firefox addon-sdk.


Solution

  • localStorage stores strings not booleans, hence you'll have to compare accordingly. And you need to check for data variable instead of data.display_tooltip, as:

    localStorage.setItem("display_tooltip", false);
    data = localStorage.getItem('display_tooltip'); 
    // variavle 'data' holds value stored in 'display_tooltip' variable
    if(data == "true") {
        //your code
        alert("True");
    }
    else {
        //false, your code
        alert("False");
    }
    

    Demo:: jsFiddle