将数据从background.js发送到chrome扩展中的popup.js时出错

时间:2015-02-18 06:16:34

标签: google-chrome-extension background popup content-script

我正在创建Chrome扩展程序。因为我在从background.js发送消息到popup.js时遇到问题。我成功地将一些静态数据从background.js发送到popup.js。但是,当我尝试从background.js动态发送数据(即content-script.js发送到background.js的数据)到popup.js时,它会在popup.html上打印时给出undefined。

这是我的popup.js:

 var value;
  window.onload = function(){   
    chrome.runtime.sendMessage({getVal: "Hi"}, function(response){
    value = response.responseSeltext;
    alert(value);
    });
    document.getElementById('save').onclick = test;
}

这是我的background.js:

    var seltext;
        chrome.runtime.onMessage.addListener(
        function(request, sender, sendResponse) {

        if (request.ezynotes != ""){
          seltext = request.ezynotes;
          alert("In extension "+seltext);

          //document.getElementById("notes").innerHTML += request.ezynotes;
         }
        if (request.getVal != ""){
          sendResponse({responseSeltext:seltext});

          //seltext = request.ezynotes;
          alert("In extension "+seltext);

          //document.getElementById("notes").innerHTML += request.ezynotes;
         }

  });

1 个答案:

答案 0 :(得分:-2)

我假设您正在从content.js中搜索背景中的消息并尝试将其发送到popup.js。对吗?在这种情况下,你必须从后台发送消息并在popup.js中添加一个不在你的代码中的监听事件。