【发布时间】:2017-12-11 20:21:30
【问题描述】:
我正在尝试使用 chrome 扩展程序捕获可见选项卡。我设法让图像显示在另一个选项卡中以检查其工作情况。但我实际上希望拍摄图像,在用户计算机上的临时文件中保存为 PNG。然后最终被发送到服务器,但那是一个不同的问题。如果我学习的格式很差,请道歉。
var id = 100;
chrome.browserAction.onClicked.addListener(function() {
chrome.tabs.captureVisibleTab(function(screenshotUrl) {
var viewTabUrl = chrome.extension.getURL('../HTML/InfoPullHTML.html?id=' + id++)
var targetId = null;
chrome.tabs.onUpdated.addListener(function listener(tabId, changedProps) {
if (tabId != targetId || changedProps.status != "complete")
return;
// alert('test2');
chrome.tabs.onUpdated.removeListener(listener);
// alert('test3');
var views = chrome.extension.getViews();
// alert('test4');
for (var i = 0; i < views.length; i++) {
var view = views[i];
// alert('test' + (i + 5));
if (view.location.href == viewTabUrl) {
view.setScreenshotUrl(screenshotUrl);
break;
}
}
});
// alert('AfterForLoop');
chrome.tabs.create({url: viewTabUrl}, function(tab) {
targetId = tab.id;
});
});
});
图像被拍摄。将图像保存为 PNG 并保存在用户计算机上的临时文件中。
现在我唯一的结果是图像被拍摄然后显示在新标签中。我是编码的初学者,对于如何继续前进,我一无所知。
<!DOCTYPE html>
<html>
<script src="../JavaScript/BrowserInfoJS.js"></script>
<script src="../JavaScript/ScreenshotTargetJS.js"></script>
<head>
<title></title>
</head>
<body>
Image here:
<p>
<img id="target" src="../images/white.png">
<p>
End image
</body>
</html>
这是单击扩展程序后显示图像的页面。
【问题讨论】:
标签: javascript html css node.js google-chrome-extension