LonerDergunov
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: function fastUnload(){ chrome.runtime.getBackgroundPage(function(window){ window.close() }) } chrome.contextMenus.create({id:'bookmark_all',title:'All tabs to Bookmarks',contexts:['all']}) function setRootFolder(caller){"use strict"; if (caller == 0 && localStorage.getItem('rootFolderID') !== null && localStorage.getItem('rootFolderID') !== 'null') return; var rootFolderName = 'Bookmarks All'; chrome.bookmarks.create({title:rootFolderName,url:null}, function(rootFolder){ localStorage.setItem('rootFolderID',rootFolder.id) }); if (caller == 1) setTimeout(function(){bookmarkAll()},500) } function bookmarkAll(){"use strict"; var rootFolderID = (localStorage.getItem('rootFolderID') !== 'null') ? localStorage.getItem('rootFolderID') : null; if (rootFolderID == null) return setRootFolder(1); chrome.bookmarks.get([rootFolderID], function(rootFolder){ function nameFromDate(d){ function pad(n){ return n<10 ? '0'+n : n } return d.getFullYear()+'.'+pad(d.getMonth()+1)+'.'+pad(d.getDate())+' '+pad(d.getHours())+':'+pad(d.getMinutes())+':'+pad(d.getSeconds()) } var folderTitle = prompt('Set Directory Name:',nameFromDate(new Date())); // var folderTitle = nameFromDate(new Date()); if (folderTitle == null) return fastUnload(); chrome.bookmarks.create({parentId:rootFolderID,title:folderTitle,url:null}, function(folder){ chrome.tabs.query({},function(tabs){ for (var i=0; i < tabs.length; i++) chrome.bookmarks.create({parentId:folder.id,title:tabs[i].title,url:tabs[i].url}); fastUnload() }) }) }) } chrome.commands.onCommand.addListener(function(command){ if (command === 'bookmark_all') bookmarkAll(); return },false); chrome.browserAction.onClicked.addListener(function(tabs){ bookmarkAll() }); chrome.contextMenus.onClicked.addListener(function(tabs){ bookmarkAll() }) |
|