Firefoxin välilehdet kännykästä pöytäkoneelle

Kännykän selaimeen saattaa kertyä satoja välilehtiä. Joskus välilehdet haluaa talteen ennen session ja kaikkien välilehtien sulkemista, jotta tekstit voi myöhemmin ladata esimerkiksi Zoteroon.

Pöytäkoneen Synced Tabs -näkymässä voi nähdä puhelimella auki olevat välilehdet. Mahdollisuutena on avata kaikki toisella laitteella auki olevat sivut pöytäkoneen selainikkunaan, ja sitten kopioida listan osoitteista Bulk URL Open -lisäosalla. Jos kuitenkin puhelimessa on auki esimerkiksi 800 sivua, Firefox kaatuu yrittäessään avata välilehtiä.

Ratkaisu on tallentaa lista välilehdistä kirjanmerkkitiedostoksi.

Avaa pöytäkoneen Firefox ja katso että puhelimen välilehdet näkyvät Synced Tabsissa (joskus synkronoituminen toimii viiveellä). Avaa Firefoxin konsoli painamalla ctrl+shift+J. Kopioi ja liitä konsoliin skripti:

try {
var tabPromise = SyncedTabs.internal.getTabClients();
tabPromise.then((arrDevices) => {
if (arrDevices && arrDevices.length > 0){
// Generate a string with the format of a bookmark export file
var d, e, out = '<!DOCTYPE NETSCAPE-Bookmark-file-1>\n\nBookmarks\n

Bookmarks Menu

\n

\n';
const escapeHtmlEntities = function(aText){return (aText || '').replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, ''')};
for (var j=0; j // Create a folder for each device
d = new Date(arrDevices[j].lastModified);
e = Math.floor(d.getTime()/1000);
out += '

<H3 ADDDATE="' + e + '" LASTMODIFIED="' + e + '">Synced Tabs from ' + escapeHtmlEntities(arrDevices[j].name) + ' as of ' + d.toString() + '\n

\n';
// Sort tabs by most recently used
var arrTabs = arrDevices[j].tabs;
arrTabs.sort(function(a, b){return b.lastUsed - a.lastUsed;});
for (var i=0; i // Create a bookmark (link) for each tab
d = new Date(arrTabs[i].lastUsed * 1000);
e = Math.floor(d.getTime()/1000);
out += '

<A HREF="' + arrTabs[i].url + '" ADDDATE="' + e + '" LASTMODIFIED="' + e + '">' + escapeHtmlEntities(arrTabs[i].title) + '\n';
// Show last access date/time in a note (comment out or delete the next line if you don't want that)
out += '
Last acccessed: ' + d.toString() + '\n'
}
out += '

\n';
}
out += '

\n';
// Set up Save As dialog with proposed file name
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(Components.interfaces.nsIFilePicker);
fp.init(window, 'Open File', Components.interfaces.nsIFilePicker.modeSave);
fp.appendFilter('HTML Files', '*.html');
d = new Date();
d.setMinutes(d.getMinutes() - d.getTimezoneOffset());
var dt = d.toISOString().split('.')[0].replace(/-/g, '').replace(/:/g, '').replace(/T/, '
');
fp.defaultString = 'bookmarks-from-synced-tabs_' + dt + '.html';
// Call Save As dialog and (unless user cancels) write the file
fp.open((aResult) => {
if (aResult == Components.interfaces.nsIFilePicker.returnOK ||
aResult == Components.interfaces.nsIFilePicker.returnReplace) {
try {
OS.File.writeAtomic(fp.file.path, out);
alert('Look for ' + fp.file.path);
} catch (err) {
alert(err);
}
} else {
alert('Okay, not saving');
}
});
} else {
console.log('NO SYNCED TABS RETRIEVED');
}
}).catch((err) => {
console.log('Problem reading or outputting synced tabs: '+err);
});
} catch (err) {
console.log('Problem reading or outputting synced tabs: '+err);
}

Paina enter. Tallenna kirjanmerkkitiedosto haluamaasi paikkaan. Nyt voit avata Bookmark-tiedoston, ja näet puhelimen välilehdet listana linkkejä. Voit sulkea session puhelimessa (Close All Tabs).

More from vrmvrl
All posts