Не определено для chrome.storage.sync.get? - PullRequest
0 голосов
/ 28 декабря 2018

В моем скрипте содержимого я установил пару значений chrome.storage, а во всплывающем скрипте я прочитал и получил эти значения.

Я перепробовал все, но он продолжает возвращать "undefined", что не имеет смысла, потому что значение определенно не равно undefined.

Мой скрипт content.js :

imgs=["test.png","othertest.png"]

for (i = 0; i < imgs.length; i++){
    var key = "image"+i
    var value = imgs[i]
    chrome.storage.sync.set({key: value}, function() {
      console.log('Value is set to ' + value + ' and key is set to '+key);
    })
}
chrome.storage.sync.set({"count": imgs.length}, function() {
      console.log('Saved count value. Current count: '+imgs.length)
});

Мой скрипт popup.js :

document.addEventListener('DOMContentLoaded',function(){
    chrome.storage.sync.get(['count'], function(result) {
        console.log(result.value)
        for (i = 0; i < result.value; i++){
            chrome.storage.sync.get(['image'+i], function(result) {
                var img = document.createElement("img")
                img.src = result.value
                document.body.appendChild(img)
            })
        }
    })
})

Мой файл popup.html :

<!doctype html>
<html>
      <head>
        <meta charset="utf-8">
        <title>Untitled Document</title>
      </head>

      <body>
        <h1>Images</h1>
        <script src="popup.js"></script>
      </body>
</html>

Сценарий popup.js должен получать все изображения из chrome.storage и отображать их во всплывающем окне.Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 28 декабря 2018

Это сработало для меня благодаря тому, что я нашел этот ответ !

Popup.js :

document.addEventListener('DOMContentLoaded',function(){
    function getCountValue(callback) {
        chrome.storage.sync.get("count", callback);
    }
    function getImageValue(number,callback) {
        chrome.storage.sync.get(['image'+number], callback);
    }
    getCountValue(function (count) {
        for (i = 0; i < count.count; i++){
            getImageValue(i, function(imgvalue){
                for (var property in imgvalue) {
                    if (imgvalue.hasOwnProperty(property)) {
                        var img = document.createElement("img")
                        img.src = imgvalue[property]
                        document.body.appendChild(img)
                    }
                }
            })
        }
    })
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...