Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.
  • Форумы
  •  » Сustom Buttons
  •  » [CB]Показывать индикатор прогресса загрузки на вкладках

№109-04-2014 23:27:45

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

[CB]Показывать индикатор прогресса загрузки на вкладках

Показывать индикатор прогресса загрузки на вкладках которые загружаются ( Firefox 17+ )
Автор: bunda1
Версия: от 08.06.2014.
Описание: добавляет на всех вкладках которые загружаются индикатор прогресса загрузки и удаляет стандартный вращающийся индикатор загрузки( throbber ).
uobk.jpg
Использование: положите код в любую Custom Buttons кнопку, в инициализацию. Не обязательно создавать новую CB кнопку, можно использовать уже существующую.

Выделить код

Код:

// Показывать индикатор прогресса загрузки на вкладках которые загружаются, от 08.06.2014. ................................
(function () { 

   // Css стиль для индикатора загрузки вкладок ....
   var uri = makeURI('data:text/css,'+ encodeURIComponent('\
      /* binding для добавления индикатора под "xul:label" каждой вкладки */\
      tabs.tabbrowser-tabs label.tab-text {\
         -moz-binding: url("data:application/xml,%3Cbindings%20id%3D%22tabprogressbarBindings%22%0A%09xmlns%3D%22http%3A%2F%2Fwww.mozilla.org%2Fxbl%22%0A%09xmlns%3Axul%3D%22http%3A%2F%2Fwww.mozilla.org%2Fkeymaster%2Fgatekeeper%2Fthere.is.only.xul%22%0A%09xmlns%3Axbl%3D%22http%3A%2F%2Fwww.mozilla.org%2Fxbl%22%3E%0A%3Cbinding%20id%3D%22tab-label%22%20extends%3D%22xul%3Ahbox%22%3E%0A%09%3Ccontent%3E%0A%09%09%3Cxul%3Avbox%20class%3D%22tab-label-inner-box%22%20flex%3D%221%22%3E%0A%09%09%09%3Cxul%3Astack%20xbl%3Ainherits%3D%22flex%22%20flex%3D%221%22%3E%0A%09%09%09%09%3Cxul%3Ahbox%20class%3D%22label-behind-box%22%20flex%3D%221%22%2F%3E%0A%09%09%09%09%3Cxul%3Avbox%20class%3D%22tab-progress-box%22%20flex%3D%221%22%3E%0A%09%09%09%09%09%3Cxul%3Aprogressmeter%0A%09%09%09%09%09%09class%3D%22tab-progress%22%0A%09%09%09%09%09%09mode%3D%22normal%22%0A%09%09%09%09%09%09xbl%3Ainherits%3D%22value%3Dtab-progress%22%2F%3E%0A%09%09%09%09%3C%2Fxul%3Avbox%3E%0A%09%09%09%09%3Cxul%3Ahbox%0A%09%09%09%09%09flex%3D%221%22%0A%09%09%09%09%09align%3D%22center%22%3E%0A%09%09%09%09%09%3Cxul%3Alabel%0A%09%09%09%09%09%09class%3D%22tab-real-text%22%0A%09%09%09%09%09%09flex%3D%221%22%0A%09%09%09%09%09%09xbl%3Ainherits%3D%22value%2Ccrop%2Caccesskey%22%2F%3E%0A%09%09%09%09%3C%2Fxul%3Ahbox%3E%0A%09%09%09%3C%2Fxul%3Astack%3E%0A%09%09%3C%2Fxul%3Avbox%3E%0A%09%3C%2Fcontent%3E%0A%3C%2Fbinding%3E%0A%3C%2Fbindings%3E#tab-label");\
      }\
      /* цвет, тень и фоновое изображение прогресса в base64 */\
      .tab-progress > .progress-remainder {\
         background-color: #5d9856 !important;\
      }\
      .tab-progress > .progress-bar {\
         box-shadow: 0 0 2px #7ffa52;\
         background: #4fca32 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAADCAYAAABPsHHBAAADDElEQVRYhe3Y+U/TdxzHcf+GKYNSoBQoUMtValtpgdZCa60wKFBtAQFndkSzw+ye12Z2GjXOEGOMMcb4zwxK+dJSncect5tzbut9P/cD137QRDRbRb8/PH5/fd755HO8VvVMNPPC+rGZngl1/nOI/jevTahFz4Wmp9L9CPlfy0ryuNnmO9dK8vR7N//Z82Hh/NXQM6Ghd1JD7+S6Rc5JLU6vFqdXh9Oro8+ro8+rp8+rp39KT//U+kUDUy3zDAz4DLh8Blw+Iy6fkS0+I1umWxdtnW5bIrTjFtpxCybcggmPYMIjmPEIZgZnzAzObJhnYXDGwpDfwpC/gyF/B8P/si3QOc/KtoCVkYCVkYBtzqyN0dmNi8Zm7YwG54wFN81zMBZ0sP2CA/l4GasWLqWuySa6vE04vI04phqx+xqw+xqwTddhE+qxCnV0ztTR4Vdh8avYEFiLeVaJKaikPVhL24VaWi/WYLxYg+GnalouVbP+sgL9ZQW6K1Vor1ax7molmp8raL5WgfqanKZf5DReL6fhejn1N2TU3ZShulXG2ltlKG+XUnunhJo7JVTflaK4J6XqXjGVvxZT8ZsE+X0J5feLkP1eRNmDQkofFFLyx6tIHxZQ/LAAyZ9rKPprDYV/r54TEr0cXhGJRCLRf2o1klAB0lAhpSEJspAUebiUyrAMRVhOTbgSZViBKlxLfURJQ0SFOlJPc6QRbUSNLqKhJarFENXTGm2hPWrEHG3DEjPRGbNgi3Vgj1lxxDbSFdtEd3wzvfFu+uK9DMSduOL9uOMuPImtDCc8jCSGGU2MsD0xyo7k67yR3MFbyTfZmXybXcmdvJPcxXupd9mdep8PUrv5KPUhn6Q+5rPUp+xJf86+9F4OpPfzZfoLDqYP8nXmK77NfMP3me84lDnEkcxhjmaO8kP2GMezxxnPjnMie4KT2ZOcyp7idO40Z3JnOJs7y7ncOc7nzi89sESiF0H+f3KiJWKD9XzNPd+5VhKxwVqehTP42RqsgWdosNzLaLCGlt1gWR/RYNmfqMH6B9+z4Mt4YIdNAAAAAElFTkSuQmCC") no-repeat right;\
      }\
      /* когда показывать, размеры, расположение */\
      .tabbrowser-tab[busy="true"]:not([progress="true"]) .tab-progress,\
      .tabbrowser-tab:not([busy="true"]) .tab-progress,\
      label.tab-text:not([tab-progress]) .tab-progress {\
         visibility: collapse;\
      }\
      .tab-progress,\
      .tab-real-text,\
      label.tab-text > .tab-label-inner-box,\
      label.tab-text > .tab-label-inner-box > *,\
      label.tab-text > .tab-label-inner-box > stack > *,\
      label.tab-text > .tab-label-inner-box > stack > * > spacer {\
         margin: 0 !important;\
         padding: 0 !important;\
         text-indent: 0 !important;\
      }\
      .tab-progress {\
         min-width: 0 !important;\
         height: 2px !important;\
         min-height: 3px !important;\
         max-height: 3px !important;\
         -moz-appearance: none !important;\
         border: none !important;\
         outline: none !important;\
         margin: 0 0 -4px !important;\
         position: relative !important;\
      }\
      .tab-progress > .progress-bar,\
      .tab-progress > .progress-remainder {\
         -moz-appearance: none !important;\
      }\
      .tab-progress-box { -moz-box-pack: end !important; }\
      \
      /* удалить стандартный индикатор загрузки( throbber ) */\
      .tab-throbber:not([pinned="true"]) { display: none !important; }\
      .tab-icon-image:not([pinned="true"]) { display: block !important; }\
      '));
   const sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
   sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); 
   addDestructor(function() sss.unregisterSheet(uri, sss.AGENT_SHEET) );

   
   // Отслеживать прогресс загрузки всех вкладок ....
   var tabsProgressListener = {      
          onProgressChange: function( browser, w, r, c, m, curProgr, maxProgr ) {
             if ( !maxProgr ) return;
         
             // добавлять атрибут с прогрессом загрузки к 'xul:label' каждой вкладки  
             var percentage = parseInt(curProgr * 100 / maxProgr);        
             var tab = gBrowser._getTabForBrowser( browser );
             var label = document.getAnonymousElementByAttribute( tab, 'class', 'tab-content').querySelector(".tab-text.tab-label");
             
             label.setAttribute('tab-progress', percentage );
          }        
   };
   gBrowser.addTabsProgressListener( tabsProgressListener );
   addDestructor(function() gBrowser.removeTabsProgressListener( tabsProgressListener ) );

})();

Заменить стандартный вращающийся индикатор загрузки( throbber ) на индикатор прогресса загрузки ( Firefox 17+ )
Автор: Dumby, bunda1
Версия: от 11.05.2014.
Описание: заменяет на всех вкладках которые загружаются стандартный вращающийся индикатор загрузки( throbber ) на индикатор прогресса загрузки.
S1h17rua.jpg
Использование: положите код в любую Custom Buttons кнопку, в инициализацию. Не обязательно создавать новую CB кнопку, можно использовать уже существующую.

Выделить код

Код:

// Заменить стандартный вращающийся индикатор загрузки( throbber ) на индикатор прогресса загрузки, от 11.05.2014. ................................
(function () {  
   const
       pr = "#0086df", // цвет прогресса
       bg = "white";   // фоновой цвет прогресса


   // Css стиль для троббера ....
   var uri = makeURI("data:text/css,"+ encodeURIComponent("\
      .tab-throbber { border: 1px solid black; list-style-image: none !important; }\
   "));
   const sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
   sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
   addDestructor(function() sss.unregisterSheet(uri, sss.AGENT_SHEET) ); 


   // Отслеживать прогресс загрузки всех вкладок и соответственно менять Css стиль тробберов ....
   var tabsProgressListener = {
          
      onProgressChange: function( browser, w, r, c, m, curProgr, maxProgr ) {
         if ( !maxProgr ) return;
         var percentage = parseInt(curProgr * 100 / maxProgr);            
         var throbber = this.getThrobber( browser.contentDocument );
         throbber.style.cssText = "background: linear-gradient( 0deg, " + pr + ", " + pr + " " + percentage + "%, " + bg + ", " + bg + " " + percentage + "%);"
      },
     
      onStatusChange: function( aWebProgress ) {   
         var throbber = this.getThrobber( aWebProgress.contentDocument );
         if ( !throbber.hasAttribute('progress') ) throbber.removeAttribute("style");          
      },
     
      getThrobber: function( doc ) {
         var tabIndex = gBrowser.getBrowserIndexForDocument( doc );
         var tab = gBrowser.mTabs[tabIndex];
         return document.getAnonymousElementByAttribute( tab, "class", "tab-throbber");
      } 
   };
   gBrowser.addTabsProgressListener( tabsProgressListener );
   addDestructor(function() gBrowser.removeTabsProgressListener(tabsProgressListener) );   
})();

Отредактировано bunda1 (08-06-2014 00:41:48)

Отсутствует

 

№210-04-2014 00:40:24

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 28.0

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

Под фавиконкой место не используется, с моим размером вкладок - прогрессбара почти не видно

скрытый текст
XEBjSGq.png


mzfx

Отсутствует

 

№310-04-2014 00:53:23

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

Да есть такая проблема и с закреплёнными вкладками тоже. Буду исправлять. Кстати, вкладки у тебя странно выглядят местами.

Отсутствует

 

№410-04-2014 03:12:59

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 28.0

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

bunda1
ещё заметил, что появился глюк с визуальной задержкой при начале перехода по введённому адресу в адресную строку: адрес ввёл, enter нажал, а секунду-две визуально может ничего не происходить (кроме статус-бара, показывающего "Waiting for %адрес%").


mzfx

Отсутствует

 

№510-04-2014 04:21:08

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

Не понял, что за визуальная задержка. Индикатор не работает или что?

Отсутствует

 

№610-04-2014 05:04:30

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

iDev.Pi пишет

Под фавиконкой место не используется, с моим размером вкладок - прогрессбара почти не видно

Измени:

Выделить код

Код:

margin: 0 0 -4px !important;\

Добавлено 10-04-2014 05:05:33
И можно индикатор сверху:

Выделить код

Код:

.tab-progress-box { -moz-box-pack: start ! important; }\

Отредактировано bunda1 (10-04-2014 05:05:33)

Отсутствует

 

№710-04-2014 06:20:15

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 28.0

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

bunda1
не помогло.

bunda1 пишет

Не понял, что за визуальная задержка. Индикатор не работает или что?

я пока не уверен, что дело в КБ, может лиса чудит. После рестарта вроде глюк пропал.

Добавлено 10-04-2014 06:22:32
тем более, что у тебя не правильно: http://htmlbook.ru/css/margin смотри "количество значений" в таблице.

Отредактировано iDev.Pi (10-04-2014 06:22:32)


mzfx

Отсутствует

 

№810-04-2014 06:30:04

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

iDev.Pi пишет

тем более, что у тебя не правильно: http://htmlbook.ru/css/margin смотри "количество значений" в таблице.

Там же:

Табл. 1. Зависимость от числа значений Число значений     Результат
1     Отступы будут установлены одновременно от каждого края элемента.
2     Первое значение устанавливает отступ от верхнего и нижнего края, второе — от левого и правого.
3     Первое значение задает отступ от верхнего края, второе — одновременно от левого и правого края, а третье — от нижнего края.
4     Поочередно устанавливается отступ от верхнего, правого, нижнего и левого края.

Добавлено 10-04-2014 06:34:00

iDev.Pi пишет

не помогло.

А ты случаем не удалил названия вкладок, дело том что индикатор это сын названия вкладки.

Отредактировано bunda1 (10-04-2014 06:34:00)

Отсутствует

 

№910-04-2014 06:53:46

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 28.0

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

bunda1
нет, просто после -4px надо ещё добавить -20px, вот тогда прогрессбар будет и под фавиконкой отображаться (растянется-сместится влево на 20 пх)


mzfx

Отсутствует

 

№1010-04-2014 09:02:58

Vladimir_S
Участник
 
Группа: Extensions
Откуда: Санкт-Петербург
Зарегистрирован: 19-09-2008
Сообщений: 4493
UA: Firefox 29.0

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

bunda1
Огромное спасибо - а то расширение г-на Пири, как всегда, тихо умерло, а без прогресс-бара как-то тоскливо.
Теперь просьба объяснить, что нужно изменить для того, чтобы:
1. Цвет бара был бы не зеленым, а синим.
2. В соответствии с рекомендацией (end/start) я перегнал бар в верхние части вкладок. Но желательно еще поднять ближе к верхней кромке, а то низковато:
h_1397106106_8466174_197ce2675f.jpg
3. Нельзя ли оставить (не убирать) троббер - пусть себе крутится?
Спасибо.


"Большинство философов до сих пор придерживается весьма нефилософских воззрений на многие вопросы философии" Эдгар Аллан По

Отсутствует

 

№1110-04-2014 13:11:11

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

Vladimir_S пишет

1. цвет бара синий.
2. бар в верхние части вкладок.
3. не убирать троббер, пусть себе крутится.

mze9.jpg

Выделить код

Код:

// Показывать синий индикатор прогресса загрузки на вкладках которые загружаются, от 10.04.2014. ................................
(function () { 

   // Css стиль для индикатора загрузки вкладок ....
   var uri = makeURI('data:text/css,'+ encodeURIComponent('\
      /* binding для добавления индикатора под "xul:label" каждой вкладки */\
      tabs.tabbrowser-tabs label.tab-text {\
         -moz-binding: url("data:application/xml,%3Cbindings%20id%3D%22tabprogressbarBindings%22%0A%09xmlns%3D%22http%3A%2F%2Fwww.mozilla.org%2Fxbl%22%0A%09xmlns%3Axul%3D%22http%3A%2F%2Fwww.mozilla.org%2Fkeymaster%2Fgatekeeper%2Fthere.is.only.xul%22%0A%09xmlns%3Axbl%3D%22http%3A%2F%2Fwww.mozilla.org%2Fxbl%22%3E%0A%3Cbinding%20id%3D%22tab-label%22%20extends%3D%22xul%3Ahbox%22%3E%0A%09%3Ccontent%3E%0A%09%09%3Cxul%3Avbox%20class%3D%22tab-label-inner-box%22%20flex%3D%221%22%3E%0A%09%09%09%3Cxul%3Astack%20xbl%3Ainherits%3D%22flex%22%20flex%3D%221%22%3E%0A%09%09%09%09%3Cxul%3Ahbox%20class%3D%22label-behind-box%22%20flex%3D%221%22%2F%3E%0A%09%09%09%09%3Cxul%3Avbox%20class%3D%22tab-progress-box%22%20flex%3D%221%22%3E%0A%09%09%09%09%09%3Cxul%3Aprogressmeter%0A%09%09%09%09%09%09class%3D%22tab-progress%22%0A%09%09%09%09%09%09mode%3D%22normal%22%0A%09%09%09%09%09%09xbl%3Ainherits%3D%22value%3Dtab-progress%22%2F%3E%0A%09%09%09%09%3C%2Fxul%3Avbox%3E%0A%09%09%09%09%3Cxul%3Ahbox%0A%09%09%09%09%09flex%3D%221%22%0A%09%09%09%09%09align%3D%22center%22%3E%0A%09%09%09%09%09%3Cxul%3Alabel%0A%09%09%09%09%09%09class%3D%22tab-real-text%22%0A%09%09%09%09%09%09flex%3D%221%22%0A%09%09%09%09%09%09xbl%3Ainherits%3D%22value%2Ccrop%2Caccesskey%22%2F%3E%0A%09%09%09%09%3C%2Fxul%3Ahbox%3E%0A%09%09%09%3C%2Fxul%3Astack%3E%0A%09%09%3C%2Fxul%3Avbox%3E%0A%09%3C%2Fcontent%3E%0A%3C%2Fbinding%3E%0A%3C%2Fbindings%3E#tab-label");\
      }\
      /* цвет, тень и фоновое изображение прогресса в base64 */\
      .tab-progress > .progress-remainder {\
         background-color: #5d9856 !important;\
      }\
      .tab-progress > .progress-bar {\
         box-shadow: 0 0 2px #7ffa52;\
         background: #4fca32 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAADCAYAAABPsHHBAAAD10lEQVRYhe3Y+0/VdRzHcf+Go4SIgqgoBMo5Gh0FFRIJrLXVWmttrbbaWqut1dZaa601zjnfc74IiIiIiAhIooCC2gHFG5DUPDcPh3NAgZC4BMKR8Hvu11c/nA+dT99VO9gFpfPD4/f35/3L5/N5LtsqUWHJyrsF0WLPEPafEoU9FoR5/5zFPsuTZMnsUEqR8TCEnEfBw/LkE/t5CiiFKggLVBAW8hTxHKAUB4kOqiAqoRyilFIO85TxHKGUU45SKijHeCp5jlOqeE5Qqik1lFqek0Fb6wK2zTulxjPz6tVIrVcj9bQGz54hGjQQN2ggbtRA3KTF9iYttp8N2EGkndMirVmHtGYd0pt1SG8J2Hn+NnZeCNh1MWi3Uo/dSj0ylHpktAZktuqR2aZHZlsPnrsUsOcy0W5AVrsBWVd+b++1Xuy91ovs60HP3yA6jMjpMCKnMyC304jcLhNyvzNhH/HCTaK7DzFMKZbNX0pCiRpCiQYpEg1SJFpskeiwRaJDsuQ2Nkv1SJbokSztQZLUgCSpAU9Le5EoNSJRZkKC1IQEWR82yfqxSdaPjbI72MjcRbxsAPGyAWxgBrGBGcJ6ZgjrmB+xjhlGHDOMOOYe1jIjWMuMIJb5CbHyUcTIxxAjH8Ma+ThWyyewWj6BaPnPiFZMYpV8EqsUU4hS3EeUYhorFdNYyc4gkjUjkjXjKfYBIthZRLCzWMH+ghXsHJazDwPyubD/AQEbFhb2RMsn9lMKOAgKKUUcBAcoxZSDRAnlEAdBKeUwUUYcoZRzEBylVBDHKJXEcaKKOEFUU2qIWuIkpY74hjhF1BOnKWeIBqKR0kScJc4RzZQW4jwHwQWei8S3hJLSykHQRrnEYfllDhHtHCLbOURd5RB9lcOa6xbE3rAgrsOC9Z0WxHdZkNBlQeJNK5K6rdjcbUXK91aIfrBi2y0rUlU2iNU27NDYkK61YZfWhgydHXv0dmTp7cjusSPHYMc+gx0vGh14yejAyyYHXulz4NV+B16748Drd514Y8CJNwedeGvQibeHnHhn2IV3h114b9iF9++58MGICx+OuPDRqBsfj7rxyZgbn4678dm4G59PuPHFpAdfTnrw1ZQHX095kHffA+m0F8yMF4oZL/LNXhSYvSgye1H8wIeSWR9KZ30om/OhfM6Hioc+VHJ+VHF+VHN+1Fr8qLP4gw+ssLClYNF/3WG/CResx2vviz3XgoVSsPgV66/q1UILFr9i/Vm9etSCxa9Yf7dg8SvWoxas+YpVo/r3C1aDBuLGEApWywILljLEgnUltIKV/QcFKzfEgvUrTkoMxlOixu0AAAAASUVORK5CYII=") no-repeat right;\
      }\
      /* когда показывать, размеры, расположение */\
      .tabbrowser-tab:not([busy="true"]) .tab-progress,\
      label.tab-text:not([tab-progress]) .tab-progress {\
         visibility: collapse;\
      }\
      .tab-progress,\
      .tab-real-text,\
      label.tab-text > .tab-label-inner-box,\
      label.tab-text > .tab-label-inner-box > *,\
      label.tab-text > .tab-label-inner-box > stack > *,\
      label.tab-text > .tab-label-inner-box > stack > * > spacer {\
         margin: 0 !important;\
         padding: 0 !important;\
         text-indent: 0 !important;\
      }\
      .tab-progress {\
         min-width: 0 !important;\
         height: 2px !important;\
         min-height: 3px !important;\
         max-height: 3px !important;\
         -moz-appearance: none !important;\
         border: none !important;\
         outline: none !important;\
         margin: -3px 0 0 !important;\
         position: relative !important;\
      }\
      .tab-progress > .progress-bar,\
      .tab-progress > .progress-remainder {\
         -moz-appearance: none !important;\
      }\
      .tab-progress-box { -moz-box-pack: start !important; }\
      '));
   const sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
   sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); 
   addDestructor(function() sss.unregisterSheet(uri, sss.AGENT_SHEET) );

   
   // Отслеживать прогресс загрузки всех вкладок ....
   var tabsProgressListener = {
          onProgressChange: function( browser, webProgr, request, curSelfProgr, maxSelfProgr, curProgr, maxProgr ) {
             if ( !maxProgr ) return;

             // добавлять атрибут с прогрессом загрузки к 'xul:label' каждой вкладки  
             var percentage = parseInt( (curProgr * 100) / maxProgr );                           
             var tab = gBrowser._getTabForBrowser( browser );
             var label = document.getAnonymousElementByAttribute( tab, 'class', 'tab-content').querySelector(".tab-text.tab-label");
             
             browser.webProgress.isLoadingDocument && percentage > 0 && percentage < 100
             ? label.setAttribute('tab-progress', percentage )
             : label.removeAttribute('tab-progress');             
          }
   };
   gBrowser.addTabsProgressListener( tabsProgressListener );
   addDestructor(function() gBrowser.removeTabsProgressListener( tabsProgressListener ) );

})();

Отредактировано bunda1 (10-04-2014 13:22:24)

Отсутствует

 

№1210-04-2014 13:48:19

Vladimir_S
Участник
 
Группа: Extensions
Откуда: Санкт-Петербург
Зарегистрирован: 19-09-2008
Сообщений: 4493
UA: Firefox 29.0

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

bunda1
О! Ну вот - совсем хорошо стало. То, что надо. Огромное спасибо. bt.gif

Отредактировано Vladimir_S (10-04-2014 13:48:46)


"Большинство философов до сих пор придерживается весьма нефилософских воззрений на многие вопросы философии" Эдгар Аллан По

Отсутствует

 

№1310-04-2014 15:04:08

feas
Участник
 
Группа: Extensions
Откуда: от DNS
Зарегистрирован: 25-08-2011
Сообщений: 5213
UA: Firefox 30.0
Веб-сайт

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

Благодарю, а то единственный рабочий аналог - Infomationaltab уж сильно крут в извращениях =)

Отредактировано feas (10-04-2014 15:04:22)


Добро пожаловать на форум mozilla-russia.org. Здесь вы можете посоветоваться или обратиться за помощью к фанатам и пользователям продуктов Мозиллы. Если не знаете как правильно оформить пост специально для вас расписан пункт 2.2 правил форума
Сброс на примере Firefox – лёгкое решение большинства проблем
Починка браузера. Перенос своих настроек на новый профиль.

Отсутствует

 

№1410-04-2014 15:15:57

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 28.0

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

iDev.Pi пишет

нет, просто после -4px надо ещё добавить -20px, вот тогда прогрессбар будет и под фавиконкой отображаться (растянется-сместится влево на 20 пх)

заметил, что это не решает проблему tree-twisties, значков сворачивания/разворачивания групп вкладок, создаваемых дополнением tree-style-tab. попробую похимичить.


mzfx

Отсутствует

 

№1510-04-2014 15:16:48

Vladimir_S
Участник
 
Группа: Extensions
Откуда: Санкт-Петербург
Зарегистрирован: 19-09-2008
Сообщений: 4493
UA: Firefox 29.0

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

feas пишет

Благодарю, а то единственный рабочий аналог - Infomationaltab уж сильно крут в извращениях

Да ладно бы крут - у меня и вовсе это расширение "тихо умерло", причем действительно умирало постепенно. Сначала в сплотке Australis+CTR работало и в 29.0, и в 30.0, потом, с выходом обновлений браузера, сперва бар скукожился, потом только мелькал на первой открытой вкладке, а потом и вовсе исчез. А кнопка CB работает. Дома вечером еще на 30.0 поставлю.


"Большинство философов до сих пор придерживается весьма нефилософских воззрений на многие вопросы философии" Эдгар Аллан По

Отсутствует

 

№1610-04-2014 15:41:28

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

iDev.Pi пишет

заметил, что это не решает проблему tree-twisties, значков сворачивания/разворачивания групп вкладок, создаваемых дополнением tree-style-tab. попробую похимичить.

Можно атрибут загрузки добавлять на вкладку и менять стандартный throbber зависимости от прогресса загрузки, это легко сделать. И наверно можно добавлять вертикальный индикатор прогресса загрузки перед иконкой вкладки, но это по труднее будет.

Отсутствует

 

№1710-04-2014 16:58:06

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 28.0

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

bunda1
да не, и горизонтальный нормально.
Лучше перед тем, как прикручивать новые фишки - занялся бы пока стабильностью текущего функционала.
Я вот сейчас заметил, что вместо прогрессбара на вкладке иногда на долю секунды мелькает текст, насколько я успел прочитать его - там написано "Connecting...", а потом он исчезает и появляется прогрессбар.

EDIT: проявляется не всегда.

Отредактировано iDev.Pi (10-04-2014 17:01:10)


mzfx

Отсутствует

 

№1811-04-2014 15:35:51

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

iDev.Pi пишет

Я вот сейчас заметил, что вместо прогрессбара на вкладке иногда на долю секунды мелькает текст, насколько я успел прочитать его - там написано "Connecting...", а потом он исчезает и появляется прогрессбар.

Мой код тут не причём, "Connecting..." появляется и без его.

Отсутствует

 

№1911-04-2014 18:13:24

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Firefox 28.0

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

bunda1
дело в том, что этот текст появляется на месте прогресс-бара (т.е. внизу вкладки), а не как текст заголовка страницы, который обычно отображается на вкладке справа от фавиконки.


mzfx

Отсутствует

 

№2009-05-2014 23:12:49

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

iDev.Pi пишет

bunda1
дело в том, что этот текст появляется на месте прогресс-бара (т.е. внизу вкладки), а не как текст заголовка страницы, который обычно отображается на вкладке справа от фавиконки.

У себя не наблюдаю.

Отсутствует

 

№2110-05-2014 02:12:16

feas
Участник
 
Группа: Extensions
Откуда: от DNS
Зарегистрирован: 25-08-2011
Сообщений: 5213
UA: Firefox 31.0
Веб-сайт

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

iDev.Pi пишет

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

конфликт расширений?


Добро пожаловать на форум mozilla-russia.org. Здесь вы можете посоветоваться или обратиться за помощью к фанатам и пользователям продуктов Мозиллы. Если не знаете как правильно оформить пост специально для вас расписан пункт 2.2 правил форума
Сброс на примере Firefox – лёгкое решение большинства проблем
Починка браузера. Перенос своих настроек на новый профиль.

Отсутствует

 

№2228-07-2014 02:55:21

HW
Участник
 
Группа: Members
Зарегистрирован: 19-12-2013
Сообщений: 189
UA: Firefox 29.0

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

Здравствуйте, а у меня стандартный  индикатор загрузки все крутится и крутится на странице http://tv.mail.ru/ , как же его остановить?

Отсутствует

 

№2328-07-2014 06:14:46

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 2235
UA: Firefox 31.0

Re: [CB]Показывать индикатор прогресса загрузки на вкладках


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№2428-07-2014 10:32:16

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

HW пишет

Здравствуйте, а у меня стандартный  индикатор загрузки все крутится и крутится на странице http://tv.mail.ru/ , как же его остановить?

На некоторых страницах криво написание скрипты которые на дают поностя загрузить станицу. Можно на таком сайте полностью выключить JavaScript Переключить JavaScript для сайтов или расширением NoScript Security Suite :: Add-ons for Firefox найти и отключить глючний скрипт.

Отсутствует

 

№2505-08-2014 12:38:17

Vladimir_S
Участник
 
Группа: Extensions
Откуда: Санкт-Петербург
Зарегистрирован: 19-09-2008
Сообщений: 4493
UA: Firefox 33.0

Re: [CB]Показывать индикатор прогресса загрузки на вкладках

Караул, спасайте!!!
До сего дня великолепно работал код инициализации, что в №11, а вот после сегодняшнего обновления Авроры Progress Bar опустился почти на середину вкладки, что некрасиво. Как бы это опять его загнать под верхнюю кромку?
h_1407227963_1875632_29fc7393ba.jpg


"Большинство философов до сих пор придерживается весьма нефилософских воззрений на многие вопросы философии" Эдгар Аллан По

Отсутствует

 
  • Форумы
  •  » Сustom Buttons
  •  » [CB]Показывать индикатор прогресса загрузки на вкладках

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]