我正在使用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);
});