Javascript 如何检查chrome存储器上是否设置了变量
我有一个关于LocalStorage的小片段,但我还不能让它在Chrome存储方案上工作 当我的应用程序启动时,我检查localStorage中的一个变量Javascript 如何检查chrome存储器上是否设置了变量,javascript,google-chrome-extension,local-storage,chrome-web-store,google-chrome-storage,Javascript,Google Chrome Extension,Local Storage,Chrome Web Store,Google Chrome Storage,我有一个关于LocalStorage的小片段,但我还不能让它在Chrome存储方案上工作 当我的应用程序启动时,我检查localStorage中的一个变量 var bookNarration=parseInt(localStorage.getItem("narration")); 如果该变量未定义,则表示我的应用程序是第一次打开的,并且我使用“默认”声明在交换机中处理bookLanguage switch(window.bookNarration) { case 2:
var bookNarration=parseInt(localStorage.getItem("narration"));
如果该变量未定义,则表示我的应用程序是第一次打开的,并且我使用“默认”声明在交换机中处理bookLanguage
switch(window.bookNarration)
{
case 2:
window.narrationShift = window.spanishShift;
break;
case 3:
window.narrationShift = window.frenchShift;
break;
case 10:
window.narrationShift = window.neutralShift;
break;
default:
window.narrationShift = 0; }
为了使其与Chrome存储一起工作,我通过以下方式更改代码:
var bookNarration=parseInt(chrome.storage.local.get("narration"));
但我立刻发现了这个错误:
表单get(字符串)的调用与定义get(可选字符串、数组或对象键、函数回调)不匹配
我已经寻找了好几个小时,试图找到一个解决办法,但我无法让它工作。我想我只需要检查值是否已定义,如果未定义,我可以使用set()方法存储默认值。函数:
现在没有必要使用catch(也就是说,我不知道从接受答案到现在这一点是否发生了变化) 如果项目不存在,则可以传入所需的项目以及默认值
chrome.storage.local.get({narration: "", num: 0, books: []}, function(data)
{
var bookNarration = parseInt(data.narration);
switch(bookNarration)
{
var numBooks= data.books.length
/* ... */
};
});
在我的Chrome应用程序中,这个Chrome.runtime.lastError永远不会工作。我很惊讶,他们没有找到一个最聪明的方法来管理错误。使用LocalStorage
var students=JSON.parse(LocalStorage.getItem('studentsInfo')| |[];
chrome.storage.local.get({narration: "", num: 0, books: []}, function(data)
{
var bookNarration = parseInt(data.narration);
switch(bookNarration)
{
var numBooks= data.books.length
/* ... */
};
});