我正在创建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;
}
});
答案 0 :(得分:-2)
我假设您正在从content.js中搜索背景中的消息并尝试将其发送到popup.js。对吗?在这种情况下,你必须从后台发送消息并在popup.js中添加一个不在你的代码中的监听事件。