Google chrome 将消息从内容脚本发送到chrome扩展中的后台脚本

Google chrome 将消息从内容脚本发送到chrome扩展中的后台脚本,google-chrome,google-chrome-extension,Google Chrome,Google Chrome Extension,我试图从上下文菜单onclick事件接收来自后台脚本内容的消息。以下是内容脚本: var clickedEl = null; document.addEventListener("mousedown", function(event){ if(event.button == 2) { clickedEl = event.target; console.log("event.target = "+event.target); } }, true)

我试图从上下文菜单onclick事件接收来自后台脚本内容的消息。以下是内容脚本:

var clickedEl = null;

document.addEventListener("mousedown", function(event){
    if(event.button == 2) { 
        clickedEl = event.target;
        console.log("event.target = "+event.target);
    }
}, true);

chrome.extension.onMessage.addListener(function(request, sender, sendResponse) {
    if(request == "getClickedEl") {
        console.log("requestValue = " + clickedEl);
        sendResponse({value: clickedEl.value});
    }
});
这是我的背景脚本,单击上下文菜单时,我将消息发送到内容脚本

function doScripts(context, targ){
    chrome.tabs.executeScript(null, {code: "var doingBrowserAction = "+(context)+"; var contextTarg = "+(targ)+";"}, function(){
        chrome.tabs.executeScript(null, {file: "js/myscript.js"}, function(){});
    });
}

function getClickHandler(info, tab) {
    chrome.tabs.sendMessage(tab.id, "getClickedEl", function(clickedEl) {
        var currTarg = clickedEl.value;
        doScripts(false, currTarg);
    });
}

chrome.contextMenus.create({
    "title" : "DESTROY!",
    "type" : "normal",
    "contexts" : ["page","selection","link","editable","image","video","audio"],
    "onclick" : getClickHandler
});
我正在确认onMessage是从后台脚本调用的

console.log("requestValue = " + clickedEl); 

onMessage
监听器中,这是有效的。我的主要问题是,当我在后台脚本中获取变量时,它显示为null,而当我试图将变量传递给
doScripts
函数时,它就不起作用了。我想我在解析邮件时遇到了接收端问题,但我不确定我做错了什么。

可能重复的问题,请不要发布重复的问题。如果您想添加更多信息,问题底部有一个“编辑”链接。