我是Chrome Extension开发的新手。我有一个后台脚本,可监听上下文菜单的单击并将消息发送到主popup.js
文件。
我正在使用Chrome.runtime.sendMessage()
函数。我在popup.js
文件中有一个侦听器,用于侦听sendMessage()
。有趣的是,该消息仅在调试模式下发送,即在我检查Chrome扩展程序时发送。你能说出为什么会这样
background.js
chrome.contextMenus.onClicked.addListener(function(clickData){
if(clickData.menuItemId === "trackIT" && clickData.selectionText){
// Send the parsed data to the labview listening server
console.log(clickData.selectionText);
chrome.runtime.sendMessage({
msg : "task_trackIT",
data : {
"taskName" : clickData.selectionText
}
})
} else {
console.log("do nothing");
}
});
popup.js
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse){
if(request.msg === "task_trackIT"){
console.log(request.data.taskName);
// httpService.postMessage()
// xhr.send("1234")
self.postMessage({"Notes":request.data.taskName})
}
}
)