繁体   English   中英

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()之外的sendResponse()传递消息时,消息正确传递,我可以从内容脚本访问它。 知道为什么这不通过吗?

更新alert(sendResponse); 证明chrome.tabs.captureVisibleTabs()可以访问sendResponse因为该对象在警报消息中正确显示。

我挖到了解压缩扩展的控制台(显然它与常规扩展控制台不同: 在Chrome扩展中从哪里读取来自background.js的控制台消息? )并且它说chrome.runtime.onMessage.addListener需要返回true如果在函数的回调中调用了sendResponse 有效!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM