Исправил Показывать количество открытых табов в адресной строке для Firefox 57.
Отсутствует
Coroner
Мне помогли починить её на руборде, спасибо gyra и другим пользователям... Только с положением её относительно остальных элементов в урл не так всё просто:
Поделитесь кнопкой, Спасибо.
Отредактировано broker (28-11-2017 02:15:26)
Отсутствует
broker
У меня нормально заработала (в FF 58) Memory Monitor( Firefox 45+ ) после замены var urlbarIcons = document.getElementById("urlbar-icons"); на var urlbarIcons = document.getElementById("page-action-buttons");
pcxFirefox - лучшая сборка Лисы!
Отсутствует
broker
У меня нормально заработала (в FF 58) Memory Monitor( Firefox 45+ ) после замены var urlbarIcons = document.getElementById("urlbar-icons"); на var urlbarIcons = document.getElementById("page-action-buttons");
Хорошо, спасибо.
Отсутствует
У меня нормально заработала (в FF 58) Memory Monitor( Firefox 45+ ) после замены var urlbarIcons = document.getElementById("urlbar-icons"); на var urlbarIcons = document.getElementById("page-action-buttons");
Заработать-то заработала, только вот показывает непонятно что. Если сложить память всех процессов в Диспетчере задач и сравнить с тем, что выдаёт кнопка - разница приличная. Я, возможно, что-то неправильно понимаю
Отсутствует
Заработать-то заработала, только вот показывает непонятно что.
Да, это я не учёл - проверял с отключенной e10s. С включённой и правда ерунда получается. Но тут уже саму кнопку надо переделывать, насколько понимаю?
* Эта не работает и при откл. мультипроцессности.
Отредактировано adidharma (08-12-2017 08:29:52)
pcxFirefox - лучшая сборка Лисы!
Отсутствует
Viatcheslav,adidharma
Господа, для меня счетчик несет чисто символически значение, у меня прописано если больше 600mb запускается afom и сбрасывает память. Тормозов особо то не заметил, было много споров насчет эффективности, но для себя решил так как у меня ram 3gb а мозилка на некоторых сайтах прожорлива, то пусть держит в тонусе.
Отсутствует
у меня прописано если больше 600mb запускается afom и сбрасывает память
Если можно, в этом месте, пожалуйста, подробнее - где прописано и чем сбрасывает? Спасибо
Отсутствует
Viatcheslav
Вот сам код когда то на мою просьбу bunda1 написал за что спасибо большое. В css поправите для себя, Afom положите в папку Soft в профиле ее надо создать.
var memoryDisplay = document.createElement("statusbarpanel"); var urlbarIcons = document.getElementById("page-action-buttons"); urlbarIcons.insertBefore( memoryDisplay, urlbarIcons.lastChild ); // перед первой иконкой адресной строки memoryDisplay.id = "memoryDisplay"; memoryDisplay.label = getMemory() + ' MB'; memoryDisplay.style.cssText = "-moz-appearance: none; border: 0; padding: 0; margin-right:-6px; margin-left: -1px;"; // Css стиль для счётчика self.timer = setInterval(function() { var memory = getMemory(); memoryDisplay.label = memory + ' MB'; if ( memory > 600 ) { var file= Components.classes["@mozilla.org/file/directory_service;1"]. getService(Components.interfaces.nsIProperties). get("ProfD", Components.interfaces.nsIFile); file.initWithPath(file.path + "\\Soft\\afom.exe"); file.launch(); } }, 2000 ); // Всплывающая подсказка у счётчика отображает заполнение дискового кеша...................................... var k = 100, mb = 1024 * 1024, str = "", cs = Cc["@mozilla.org/network/cache-service;1"].getService(Ci.nsICacheService), visitor = { visitDevice: addInfo }; function addInfo(device, info) { str += (str ? "\n" : "") + device[0].toUpperCase() + device.slice(1) + " Cache: " + [info.totalSize, info.maximumSize].map(function(num) Math.round(k * num / mb) / k + " MB").join(" / "); }; memoryDisplay.onmouseenter = function() { str = ""; cs.visitEntries(visitor); memoryDisplay.tooltipText = "Л: Подробно показать потребление памяти в вкладке" + "\n\n" + str; }; ///////////// Получить всю занимаемую оперативную память в MB .............................................//////////// function getMemory() { var reporterManager = Cc["@mozilla.org/memory-reporter-manager;1"].getService(Ci.nsIMemoryReporterManager); try { var e = reporterManager.enumerateReporters(); while ( e.hasMoreElements() ) { var mr = e.getNext().QueryInterface(Ci.nsIMemoryReporter); self[mr.path] = mr; } var memory = self["resident"].amount; } catch(e) { var memory = reporterManager.resident; } // FF26 - Nightly return ( Math.round( memory/1048576 ) ); }; // По клику подробно показать потребление памяти в вкладке, автор кода 'Dumby' ......................... memoryDisplay.onclick = function(e) { if ( e.button ) return; var memoryTab = gBrowser.getBrowserForTab( gBrowser.selectedTab = gBrowser.addTab("about:memory") ); // oбработчик ждет пока откроется "about:memory", удаляет себя и нажимает кнопку на странице memoryTab.addEventListener("pageshow", function c(e) { this.removeEventListener( e.type, c ); setTimeout(function() { try { e.originalTarget.getElementById('measureButton').click() } catch(e) {} }, 0); }); }; // Удалять счётчик памяти и другие изменения ............................................................ addDestructor(function() { urlbarIcons.removeChild( memoryDisplay ) try { window.clearTimeout( self.timer ) } catch(e) {}; });
Отредактировано broker (08-12-2017 21:24:15)
Отсутствует
broker, спасибо ПРЕБОЛЬШОЕ Хочу уточнить - этот код
скрытый текстВыделить кодКод:
var memoryDisplay = document.createElement("statusbarpanel"); var urlbarIcons = document.getElementById("page-action-buttons"); urlbarIcons.insertBefore( memoryDisplay, urlbarIcons.lastChild ); // перед первой иконкой адресной строки memoryDisplay.id = "memoryDisplay"; memoryDisplay.label = getMemory() + ' MB'; memoryDisplay.style.cssText = "-moz-appearance: none; border: 0; padding: 0; margin-right:-6px; margin-left: -1px;"; // Css стиль для счётчика self.timer = setInterval(function() { var memory = getMemory(); memoryDisplay.label = memory + ' MB'; if ( memory > 600 ) { var file= Components.classes["@mozilla.org/file/directory_service;1"]. getService(Components.interfaces.nsIProperties). get("ProfD", Components.interfaces.nsIFile); file.initWithPath(file.path + "\\Soft\\afom.exe"); file.launch(); } }, 2000 ); // Всплывающая подсказка у счётчика отображает заполнение дискового кеша...................................... var k = 100, mb = 1024 * 1024, str = "", cs = Cc["@mozilla.org/network/cache-service;1"].getService(Ci.nsICacheService), visitor = { visitDevice: addInfo }; function addInfo(device, info) { str += (str ? "\n" : "") + device[0].toUpperCase() + device.slice(1) + " Cache: " + [info.totalSize, info.maximumSize].map(function(num) Math.round(k * num / mb) / k + " MB").join(" / "); }; memoryDisplay.onmouseenter = function() { str = ""; cs.visitEntries(visitor); memoryDisplay.tooltipText = "Л: Подробно показать потребление памяти в вкладке" + "\n\n" + str; }; ///////////// Получить всю занимаемую оперативную память в MB .............................................//////////// function getMemory() { var reporterManager = Cc["@mozilla.org/memory-reporter-manager;1"].getService(Ci.nsIMemoryReporterManager); try { var e = reporterManager.enumerateReporters(); while ( e.hasMoreElements() ) { var mr = e.getNext().QueryInterface(Ci.nsIMemoryReporter); self[mr.path] = mr; } var memory = self["resident"].amount; } catch(e) { var memory = reporterManager.resident; } // FF26 - Nightly return ( Math.round( memory/1048576 ) ); }; // По клику подробно показать потребление памяти в вкладке, автор кода 'Dumby' ......................... memoryDisplay.onclick = function(e) { if ( e.button ) return; var memoryTab = gBrowser.getBrowserForTab( gBrowser.selectedTab = gBrowser.addTab("about:memory") ); // oбработчик ждет пока откроется "about:memory", удаляет себя и нажимает кнопку на странице memoryTab.addEventListener("pageshow", function c(e) { this.removeEventListener( e.type, c ); setTimeout(function() { try { e.originalTarget.getElementById('measureButton').click() } catch(e) {} }, 0); }); }; // Удалять счётчик памяти и другие изменения ............................................................ addDestructor(function() { urlbarIcons.removeChild( memoryDisplay ) try { window.clearTimeout( self.timer ) } catch(e) {}; });
для Custom Buttons, или его прописать в userChrome.css?
Отредактировано Viatcheslav (09-12-2017 10:46:03)
Отсутствует
оно выдрано с расширения не помню как называлось.
afom.exe выдран из Обсуждение расширений » AFOM
Пишут что аналогично config.trim_on_minimize=true
Отсутствует
Да точно, давно было дело.
Не совсем по теме, но коли разговор зашёл... Не пробовали Tab Suspender (memory saver) ?
По логике оно должно бы память экономить, но вот эффекта я что-то не замечаю.
Отсутствует
Не пробовали Tab Suspender (memory saver) ?
Нет, я пользуюсь только Afom дисковый кеш вырубил, SSD жалко остальное в память. Если открыть браузер и почитать новости, почту проверить кушает около 470мб, а вот ютуб и несколько форумов до 900мб получается. Afom не позволяет отжырать сколько, Вы попробуйте и будет видно так счетчик постоянно мониторить потребление памяти.
Отсутствует
Вы попробуйте и будет видно так счетчик постоянно мониторить потребление памяти.
Я пробовал когда-то. Но видимо из-за старого железа (отсутствия SSD) "восстановление" сброшенной памяти происходит довольно медленно, в результате работа с браузером замедляется больше, чем плюнуть на это и пусть ест сколько хочет (всё равно больше 800 не ест).
Попробую сейчас на 57. Кстати, у меня точно такой же файл Думал может версия другая.
Отсутствует
На 66 работало, на 66.03 работает некорректно
/*Initialization Code*/ // Показывать количество открытых табов в адресной строке +, от 27.11.2017. ................................ (function () { //var tabCounter=this.id; //var urlbar = document.getElementById("page-action-buttons"); var button = document.getElementById("tabCounter"); self.onclick = function(e) { if ( e.button == 0 ) return PanelUI.showSubView('allTabsMenu-allTabsView', this); }; // Стиль для счётчика и меню .... var uri = makeURI('data:text/css,'+ encodeURIComponent('\ %button% { -moz-appearance: none !important; border: 0 !important; margin-right: -4px !important; }\ %button% {color: #4800FF !important;}\ %button% .toolbarbutton-icon {width: -0px !important; background-color: RGB(235, 226 ,210) !important}\ %button% .toolbarbutton-text {\ display: -moz-box !important; margin-left: -8px !important; color: #4800FF !important; font-weight: bold !important;\ }\ %button% {\ -moz-box-orient: horizontal !important;\ }\ '.replace(/%button%/g, "#" + _id) )); 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) }); // Считать и показывать количество вкладок .... function count() { try { window.clearTimeout( tabTimeout ) } catch(e) {}; tabTimeout = window.setTimeout(function() { var all = gBrowser.tabs.length, visible = gBrowser.visibleTabs.length; // self.label = ( all > visible ? gBrowser.visibleTabs.length + '/' : '' ) + all; self.label = all; }, 50 ); }; count(); // Отслеживать открытие, закрытие вкладок и переключение групп вкладок .... var tabs = gBrowser.tabContainer; addEventListener("TabOpen", count, false, tabs ); addEventListener("TabClose", count, false, tabs ); function getChangeTabGroup() { addEventListener("TabHide", function c(e) { count(); setTimeout(function() { getChangeTabGroup() }, 50 ) removeEventListener( e.type, c, false, tabs ); }, false, tabs ); }; getChangeTabGroup(); })()
Отредактировано Andrey_Krropotkin (19-04-2019 23:35:11)
Отсутствует
Поправьте пож-та кнопку для 60+
Исправил: Показывать количество открытых табов в адресной строке
Добавлено 10-05-2019 17:29:37
На 66 работало, на 66.03 работает некорректно
// Показывать количество открытых табов в адресной строке +, от 10.05.2019. ................................ (function () { self.onclick = function(e) { if ( e.button == 0 ) return PanelUI.showSubView('allTabsMenu-allTabsView', this); }; // Стиль для счётчика и меню .... var uri = makeURI('data:text/css,'+ encodeURIComponent('\ %button% { -moz-appearance: none !important; border: 0 !important; margin-right: -4px !important; }\ %button% {color: #4800FF !important;}\ %button% .toolbarbutton-icon {width: -0px !important; background-color: RGB(235, 226 ,210) !important}\ %button% .toolbarbutton-text {\ display: -moz-box !important; margin-left: -8px !important; color: #4800FF !important; font-weight: bold !important;\ }\ %button% {\ -moz-box-orient: horizontal !important;\ }\ '.replace(/%button%/g, "#" + _id) )); 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) }); // Считать и показывать количество вкладок .... function count() { try { window.clearTimeout( tabTimeout ) } catch(e) {}; tabTimeout = window.setTimeout(function() { self.label = gBrowser.visibleTabs.length; }, 50 ); }; count(); // Отслеживать открытие, закрытие вкладок и переключение групп вкладок .... var tabs = gBrowser.tabContainer; addEventListener("TabOpen", count, false, tabs ); addEventListener("TabClose", count, false, tabs ); function getChangeTabGroup() { addEventListener("TabHide", function c(e) { count(); setTimeout(function() { getChangeTabGroup() }, 50 ) removeEventListener( e.type, c, false, tabs ); }, false, tabs ); }; getChangeTabGroup(); })()
Отредактировано bunda1 (10-05-2019 17:29:37)
Отсутствует