使用chrome.storage.local.get的条件自循环无法正常工作

时间:2019-07-11 12:59:37

标签: javascript google-chrome google-chrome-extension

我是chrome扩展程序制作的新手。我试图将数据存储在本地存储中并从中检索。但是,正如我在内容脚本中放置检索一样,它会在将数据保存到本地存储之前运行它。因此,我试图将chrome.storage.local.get作为条件。为了检查它是否有效,我添加了警报。进入获取部分后,它将连续生成警报。它不会走到下一行。我尝试了用引号未定义和未引号未定义。

这是我的content_script.js代码:

var message;

function bodyHandler(e){
    if (e.type == 'mousemove'){
        chrome.storage.local.get('word', function(data) {
            alert("from get");
            if(typeof data.word !== undefined){
                message = chrome.storage.local.get('word');
                alert("from if");
            }
            else{
                alert("from else");
                message ="Hello!";
            }
        })
        var paragraph = document.getElementsByTagName('p');
        for(var i=0; i < paragraph.length; i++){
            //alert('hello.');
            paragraph[i].innerHTML = message;
        }
    }
}

document.body.addEventListener('mousemove', bodyHandler, false);

这是我的popup.js:

var evnt = document.getElementById("clicked");

function wordGetter(){
    var txt= document.getElementById("wordinput").value;
    chrome.storage.local.set({'word': txt});
}
evnt.addEventListener('click', wordGetter);

我不明白为什么alert("from get")连续运行。

0 个答案:

没有答案