>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Сustom Buttons http://forum.mozilla-russia.org/viewforum.php?id=34 >[CB]Показывать индикатор прогресса загрузки на вкладках http://forum.mozilla-russia.org/viewtopic.php?id=62808 |
bunda1 > 09-04-2014 23:27:45 |
Показывать индикатор прогресса загрузки на вкладках которые загружаются ( Firefox 17+ ) Выделить код Код:// Показывать индикатор прогресса загрузки на вкладках которые загружаются, от 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+ ) Выделить код Код:// Заменить стандартный вращающийся индикатор загрузки( 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) ); })(); |
iDev.Pi > 10-04-2014 00:40:24 |
Под фавиконкой место не используется, с моим размером вкладок - прогрессбара почти не видно скрытый текст |
bunda1 > 10-04-2014 00:53:23 |
Да есть такая проблема и с закреплёнными вкладками тоже. Буду исправлять. Кстати, вкладки у тебя странно выглядят местами. |
iDev.Pi > 10-04-2014 03:12:59 |
bunda1 |
bunda1 > 10-04-2014 04:21:08 |
Не понял, что за визуальная задержка. Индикатор не работает или что? |
bunda1 > 10-04-2014 05:04:30 |
iDev.Pi пишет
Измени: 10-04-2014 05:05:33 |
iDev.Pi > 10-04-2014 06:20:15 |
bunda1 bunda1 пишет
я пока не уверен, что дело в КБ, может лиса чудит. После рестарта вроде глюк пропал. 10-04-2014 06:22:32 |
bunda1 > 10-04-2014 06:30:04 |
iDev.Pi пишет
Там же:
10-04-2014 06:34:00 iDev.Pi пишет
А ты случаем не удалил названия вкладок, дело том что индикатор это сын названия вкладки. |
iDev.Pi > 10-04-2014 06:53:46 |
bunda1 |
Vladimir_S > 10-04-2014 09:02:58 |
bunda1 |
bunda1 > 10-04-2014 13:11:11 |
Vladimir_S пишет
Выделить код Код:// Показывать синий индикатор прогресса загрузки на вкладках которые загружаются, от 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 ) ); })(); |
Vladimir_S > 10-04-2014 13:48:19 |
bunda1 |
feas > 10-04-2014 15:04:08 |
Благодарю, а то единственный рабочий аналог - Infomationaltab уж сильно крут в извращениях |
iDev.Pi > 10-04-2014 15:15:57 |
iDev.Pi пишет
заметил, что это не решает проблему tree-twisties, значков сворачивания/разворачивания групп вкладок, создаваемых дополнением tree-style-tab. попробую похимичить. |
Vladimir_S > 10-04-2014 15:16:48 |
feas пишет
Да ладно бы крут - у меня и вовсе это расширение "тихо умерло", причем действительно умирало постепенно. Сначала в сплотке Australis+CTR работало и в 29.0, и в 30.0, потом, с выходом обновлений браузера, сперва бар скукожился, потом только мелькал на первой открытой вкладке, а потом и вовсе исчез. А кнопка CB работает. Дома вечером еще на 30.0 поставлю. |
bunda1 > 10-04-2014 15:41:28 |
iDev.Pi пишет
Можно атрибут загрузки добавлять на вкладку и менять стандартный throbber зависимости от прогресса загрузки, это легко сделать. И наверно можно добавлять вертикальный индикатор прогресса загрузки перед иконкой вкладки, но это по труднее будет. |
iDev.Pi > 10-04-2014 16:58:06 |
bunda1 EDIT: проявляется не всегда. |
bunda1 > 11-04-2014 15:35:51 |
iDev.Pi пишет
Мой код тут не причём, "Connecting..." появляется и без его. |
iDev.Pi > 11-04-2014 18:13:24 |
bunda1 |
bunda1 > 09-05-2014 23:12:49 |
iDev.Pi пишет
У себя не наблюдаю. |
feas > 10-05-2014 02:12:16 |
iDev.Pi пишет
конфликт расширений? |
HW > 28-07-2014 02:55:21 |
Здравствуйте, а у меня стандартный индикатор загрузки все крутится и крутится на странице http://tv.mail.ru/ , как же его остановить? |
villa7 > 28-07-2014 06:14:46 |
bunda1 > 28-07-2014 10:32:16 |
HW пишет
На некоторых страницах криво написание скрипты которые на дают поностя загрузить станицу. Можно на таком сайте полностью выключить JavaScript Переключить JavaScript для сайтов или расширением NoScript Security Suite :: Add-ons for Firefox найти и отключить глючний скрипт. |
Vladimir_S > 05-08-2014 12:38:17 |
Караул, спасайте!!! |
Vladimir_S > 05-08-2014 15:33:45 |
okkamas_knife пишет
Попробовал. Увы, ноль эмоций. Да и странно было бы - ведь работало ж до сего дня. |
bunda1 > 05-08-2014 21:41:39 |
Vladimir_S пишет
Установил аврору и у меня с №11 вроде проблем нет, может обнови аврору или попробуй изменить в коде: Лучше перейти на |
Vladimir_S > 06-08-2014 07:35:19 |
bunda1 пишет
Что касается "изменить в коде", так я это еще вчера проделал и не узрел ни малейшей реакции на изменения сии (пробовал изменить на "-1"). |
bunda1 > 06-08-2014 10:03:15 |
Да вечная проблема конфликт с расширениями. |
Vladimir_S > 08-08-2014 13:59:24 |
JSoul > 27-03-2015 09:09:23 |
Помогите пожалуйста изменить скрипт так, чтобы индикатор загрузки был как тут, но не под вкладкой, а под всеми панельками или под панелькой адреса на всю ширину окна (с таким же цветом и тенями, в общем зайдите посмотрите как там). скрытый текст Выделить код Код:// Индикатор загрузки в виде полоски (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: rgba(255, 255, 255, 0) !important;\ }\ .tab-progress > .progress-bar {\ //box-shadow: 0 0 2px rgba(34, 153, 221, 0.26);\ box-shadow: 0 0 2px rgba(255, 255, 255, 0);\ background: #2299DD url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAACCAIAAAD5BB1nAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAAhSURBVEhLY1CaeXcUjaJRNIqGBBotsEbRKBpFQwTNvAsAqmb7PRUziHUAAAAASUVORK5CYII=") 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: 2px !important;\ max-height: 2px !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 ) ); })(); |
bunda1 > 27-03-2015 20:07:16 |
JSoul пишет
Может тут посмотри тут: http://custombuttons.sourceforge.net/fo … f=2&t=1795 |
emlen > 03-06-2015 16:25:01 |
Кто бы под симанку адаптировал?) |
Dook > 22-04-2017 18:48:35 |
перестал работать в Firefox 53 |