I'm new, I need to know how to get screenshots of all the tabs at the same time, I've used the function chrome.tabs.captureVisibleTab but as a parameter window, how can I do?Thanks!
Blipshot is one of the fastest and simplest Chrome extension for capturing screenshots with drag and drop features. You can drag and put the captured screenshot into any folder of your choice in PNG file format. It supports one-click screenshot to make the process quick.
You'll have to bring up each tab in the window with tabs.update
and capture it.
function captureWindowTabs(windowId, callbackWithDataUrlArray) {
var dataUrlArray = [];
// get all tabs in the window
chrome.windows.get(windowId, {populate:true}, function(windowObj) {
var tabArray = windowObj.tabs;
// find the tab selected at first
for(var i = 0; i < tabArray.length; ++i) {
if(tabArray[i].active) {
var currentTab = tabArray[i];
break;
}
}
// recursive function that captures the tab and switches to the next
var photoTab = function(i) {
chrome.tabs.update(tabArray[i].id, {active:true}, function() {
chrome.tabs.captureVisibleTab(windowId, {format:"png"}, function(dataUrl) {
// add data URL to array
dataUrlArray.push({tabId:tabArray[i].id, dataUrl:dataUrl});
// switch to the next tab if there is one
if(tabArray[i+1] != undefined) {
photoTab(i+1);
}
else {
// if no more tabs, return to the original tab and fire callback
chrome.tabs.update(currentTab.id, {active:true}, function() {
callbackWithDataUrlArray(dataUrlArray);
});
}
});
});
}
photoTab(0);
});
}
// get all tabs in the current window
captureWindowTabs(chrome.windows.WINDOW_ID_CURRENT, function(dataArray) {
for(var i = 0; i < dataArray.length; ++i) {
alert(dataArray[i].dataUrl); // log to the background page or popup
}
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With