Google chrome extension 首次使用chrome.storage.sync.get时出现选项问题
在上面的代码中,我得到了一个未定义的,,因为我的选项页面中没有第一次保存任何设置用户。我试图为myResult设置一个默认值,比如Google chrome extension 首次使用chrome.storage.sync.get时出现选项问题,google-chrome-extension,Google Chrome Extension,在上面的代码中,我得到了一个未定义的,,因为我的选项页面中没有第一次保存任何设置用户。我试图为myResult设置一个默认值,比如if(result.savedItem==undefined)myResult=''但我仍然没有定义。为什么?2个问题同时出现 1) 通过提供字典,可以为不在存储器中的值设置默认值: chrome.storage.sync.get('savedItem', function (result) { //some if else condition for re
if(result.savedItem==undefined)myResult=''代码>但我仍然没有定义。为什么?2个问题同时出现
1) 通过提供字典,可以为不在存储器中的值设置默认值:
chrome.storage.sync.get('savedItem', function (result) {
//some if else condition for result.savedItem here
myResult = result.savedItem;
});
$('p').val(myResult);
2) 最大的问题是不理解异步代码是如何工作的
$('p').val(myResult)在分配myResult
之前执行code>,因为chrome.storage.sync.get
会立即返回,稍后会调用函数(result){…}
关于这一点,已经有很多问题了,看看,比如,和。使用chrome存储更改-
示例代码:
chrome.storage.sync.get({'savedItem' : 'myDefault'}, function (result) {
// result.savedItem is the saved value or 'myDefault'
});
chrome.storage.onChanged.addListener(函数(更改,命名空间){
for(var输入更改){
var storageChange=更改[键];
console.log('命名空间“%s”中的存储键“%s”已更改。“+”旧值为“%s”,新值为“%s”。',键,命名空间,storageChange.oldValue,storageChange.newValue);
}
});
你知道这个问题吗?
chrome.storage.onChanged.addListener(function(changes, namespace) {
for (var key in changes) {
var storageChange = changes[key];
console.log('Storage key "%s" in namespace "%s" changed. ' + 'Old value was "%s", new value is "%s".', key, namespace, storageChange.oldValue, storageChange.newValue);
}
});