This question already has an answer here:
- Why is my variable unaltered after I modify it inside of a function? - Asynchronous code reference 6 answers
I'm trying to use chrome.storage.local
in my extension, and it doesn't seem to work. I used localStorage
but realized that I can't use it in content scripts over multiple pages.
So, this is what I've come up with:
function save()
{
var channels = $("#channels").val();
var keywords = $("#keywords").val();
chrome.storage.local.set({'channels': channels});
chrome.storage.local.set({'keywords': keywords});
}
I do believe I'm doing the save()
right, but the problem comes up in load()
:
function load()
{
var channels = "";
chrome.storage.local.get('channels', function(result){
channels = result;
alert(result);
});
var keywords = "";
chrome.storage.local.get('keywords', function(result){
keywords = result;
alert(result);
});
$("#channels").val(channels);
$("#keywords").val(keywords);
}
When the alerts trigger, it prints out [object Object]
. Why is that? What am I doing wrong? I looked at the documentation/examples, but I can't seem to pinpoint the problem.