Chrome扩展程序:sendResponse无法正常使用

时间:2016-08-30 08:08:22

标签: javascript google-chrome google-chrome-extension

我正在使用Chrome扩展程序的内置功能截取视口的屏幕截图。在后台脚本中,当收到捕获屏幕截图的消息时,我捕获它并使用sendResponse将dataURI发送回原点。当我在后台脚本中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;
});

内容脚本:

chrome.runtime.sendMessage({"capture":true},function(response) {
    console.log(response.screenshot);
});

0 个答案:

没有答案