所以这个想法是这样的......我要做的就是在加载特定内容脚本后立即调用扩展背景页面。(在这种情况下,当加载页面时)我的内容脚本中有类似的内容。
var port = chrome.extension.connect({name: "screenshot"});
port.postMessage({request: "screenshot"});
port.onMessage.addListener(function(msg) {
var img = document.createElement('img');
img.src = msg.response;
document.body.appendChild(img);
});
在我的 background.js 页面中是这样的
function takeScreenshot(){
chrome.tabs.captureVisibleTab(null, function(img) {
return img;
});
}
chrome.extension.onConnect.addListener(function(port) {
console.assert(port.name == "screenshot");
port.onMessage.addListener(function(msg) {
if (msg.request == "screenshot"){
port.postMessage({response: takeScreenshot() });
}
});
});
但是我没有运气......我让图像出现在身体上,但是当从 takeScreenshot 返回 img 时它实际上并没有传递图像