Chrome扩展程序:sendResponse无法正常运行

Aka*_*mar 5 javascript google-chrome google-chrome-extension

我正在使用chrome扩展的内置函数截取视口的屏幕截图.在后台脚本中,当收到捕获屏幕截图的消息时,我捕获它并dataURI使用sendResponse 将其发送回原点.当我console.log在后台脚本中使用URI时,它非常好,但是当我在原始脚本中收到响应时,结果是未定义的.我究竟做错了什么?

背景脚本:

chrome.runtime.onMessage.addListener(function(request,sender,sendResponse) {
    console.log("huf");
    if(request.capture) {
        chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
            chrome.tabs.captureVisibleTab(null, {}, function(dataUrl) {
                if(dataUrl) {
                    console.log(dataUrl);
                    sendResponse({"screenshot":dataUrl});           
                }
            });
        });
    }
    return true;
});
Run Code Online (Sandbox Code Playgroud)

内容脚本:

chrome.runtime.sendMessage({"capture":true},function(response) {
    console.log(response.screenshot);
});
Run Code Online (Sandbox Code Playgroud)