Bug with chrome.tabs.captureVisibleTab
Bug with chrome.tabs.captureVisibleTab
我正在构建一个Chrome扩展,并试图从chrome.tabs.captureVisibleTab()
内部向我的事件background.js页面发送消息。由于某些原因,消息不会发送到我的内容脚本。。。
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
var responseObj = new Object();
if(request.screenshotRequest == true){
chrome.tabs.captureVisibleTab({ format: "png"}, function(dataUrl){
responseObj.screenshotRequest = dataUrl;
alert(sendResponse);
sendResponse(responseObj);
});
}
});
我的manifest.json
允许使用正确的权限来进行此消息传递。当我尝试在chrome.tabs.captureVisibleTab()
之外使用sendResponse()
传递消息时,消息会正确传递,并且我可以从内容脚本访问它。知道为什么这件事没有过去吗?
UPDATE:alert(sendResponse);
证明chrome.tabs.captureVisibleTabs()
可以访问sendResponse
,因为对象在警报消息中正确显示。
我深入研究了解压缩扩展的控制台(显然它与常规扩展的控制台不同:在Chrome扩展中,从background.js读取控制台消息在哪里?),它说如果在函数的回调中调用sendResponse
,则chrome.runtime.onMessage.addListener
需要返回true。成功了!
相关文章:
- 没有找到相关文章