Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // слушает нажатие по иконке экстеншона
- chrome.browserAction.onClicked.addListener(function(activeTab) {
- // этот колбэк вызывает когда по иконке кликнули
- var closedTabs = [];
- chrome.tabs.query({}, function(tabs) {
- // все открытые закладки добавляются в массив и закрываются
- for (var i = 0; i < tabs.length; i++) {
- closedTabs.push(tabs[i]);
- chrome.tabs.remove(tabs[i].id);
- }
- // создается новая вкладка со страничкой нашего приложения
- chrome.tabs.create({
- 'url': chrome.extension.getURL('index.html')
- }, function(newTab) {
- // этот колбэк вызывает когда вкладка создана
- // тут создается еще один слушатель который слушает вообще все вкладки
- // когда на какой-либо вкладке проиходят изменения(любые) вызывается клобэк ниже
- chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
- // вот этот вот
- // он сравнивает id вкладки где были изменения и id вкладки которую мы создали для
- // нашего приложения. если они совпадают значит изменения произошло на нашей вкладке
- // если это изменение было complete т.е. страница загрузилась
- if (newTab.id === tabId && changeInfo.status == 'complete') {
- // мы высылаем ей массив с закрытыми вкладками
- // чтобы уже на страничке приложения отобразить ссылки на них
- chrome.runtime.sendMessage(closedTabs);
- }
- });
- });
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement