Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome extension 首次使用chrome.storage.sync.get时出现选项问题_Google Chrome Extension - Fatal编程技术网

Google chrome extension 首次使用chrome.storage.sync.get时出现选项问题

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

在上面的代码中,我得到了一个未定义的,,因为我的选项页面中没有第一次保存任何设置用户。我试图为myResult设置一个默认值,比如
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); } });