Как стать автором
Обновить

Возвращаем функцию закрыть все вкладки в Google Chrome

После последнего обновления браузера, я как и многие пользователи, был очень расстроен. Разработчики убрали из браузера функцию «закрыть все вкладки кроме активной». Работа с вкладками в браузере превратилась в кошмар. Теперь штатными средствами можно закрыть только вкладки справа, а не все кроме активной.

Мириться с таким положением вещей я не стал и решил вернуть все как было.

На просторах магазина расширений для браузера было найдено дополнение
«Close Tabs to the Left», но и оно ситуацию не спасло.

Было принято решение отредактировать найденное дополнение под свои нужды, что бы вернуть прежний функционал браузера.

chrome.browserAction.onClicked.addListener(function(tab) {
   closeLeftTabs();
});

function closeLeftTabs() {

  performActionOnCurrentTab(function(activeTab){
     if(activeTab) {
        chrome.tabs.query({currentWindow : true,pinned: false},function(tabs) {
             for (var i = 0; i < tabs.length; i++) {
                 if (tabs[i].index < activeTab.index){
                     chrome.tabs.remove(tabs[i].id, null);
                 }
             }
         });
     }
 });


}

function performActionOnCurrentTab(tabCallback) {
   chrome.tabs.query({ currentWindow : true, active : true },function (tabArray) { tabCallback(tabArray[0]); });
}

Без умения программировать даже подогнать готовое дополнение под свои нужды оказалось не так просто. Спустя много времени чтения мануалов и консультаций на форумах — были внесены незначительные изменения и дополнение заработало.

chrome.browserAction.onClicked.addListener(() => {
    Closeinactivetabs();
});

Closeinactivetabs = () => {
    performActionOnCurrentTab((activeTab) => {
        if (!activeTab) return;
        chrome.tabs.query({currentWindow: true, pinned: false}, (tabs) => {
            for (let i = 0; i < tabs.length; i++) {
                if (tabs[i].index !== activeTab.index) {
                    chrome.tabs.remove(tabs[i].id, null);
                }
            }
        });
    });
};

performActionOnCurrentTab = (tabCallback) => {
    chrome.tabs.query({currentWindow: true, active: true}, (tabArray) => { tabCallback(tabArray[0]); });
};

После этого были найдены бесплатные иконки и расширение готово. Закрывать вкладки стало удобней даже чем раньше. Не нужно целиться в нужную вкладку, кликать второй кнопкой мыши, выцеливать пункт «закрыть все вкладки кроме активной». Теперь нужно только кликнуть на иконку расширения.

После этого я решил поделиться расширением с друзьями, родственниками, но возникли некоторые трудности. Очень сложно было объяснять людям, как установить расширение не из магазина Google Chrome. Добавить же расширение в магазин я не могу, так как нет аккаунта разработчика и в планах как либо распространять это расширения, кроме близких мне людей, у меня тоже не было.

Упаковав готовое расширение в архив, я отправил его разработчику «Close Tabs to the Left» и попросил его опубликовать новое расширение от его имени.

К сожаление разработчик отказался опубликовать, так как функцию «закрыть все вкладки кроме активной», обещаю вернуть в следующем обновлении браузера.

Что тут сказать, будем ждать обновления браузера и надеяться, что эффективные менеджеры вернут пользователям былой функционал браузера.

Скачать расширение можно здесь.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.