[英]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()
之外的sendResponse()
传递消息时,消息正确传递,我可以从内容脚本访问它。 知道为什么这不通过吗?
更新 : alert(sendResponse);
证明chrome.tabs.captureVisibleTabs()
可以访问sendResponse
因为该对象在警报消息中正确显示。
我挖到了解压缩扩展的控制台(显然它与常规扩展控制台不同: 在Chrome扩展中从哪里读取来自background.js的控制台消息? )并且它说chrome.runtime.onMessage.addListener
需要返回true如果在函数的回调中调用了sendResponse
。 有效!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.