drage2
Вы предлагаете использовать костыли, чтоб использовать костыли, которые используют костыли. И при этом всё равно костыли получились не автоматические.
А про вредная или полезная штука споры ведут со дня выхода расширения. И я уже тогда понял что обе стороны приводят настолько веские доводы, что мне в уже пофиг на эти доводы.
Проблема в том что сдаётся мне что afom у меня не хочт запускаться. Я его раньше с кнеопки вручную иногда запускал, а сейчас не хочет. Я же правильно помню, он должен появится в диспетчере задач?
Отсутствует
Mishania
Проблема в том что сдаётся мне что afom у меня не хочт запускаться.
В "костылях" путь прописан под любой exe/ и под afom.exe тоже....А, если руки не под то заточены, то и "костыли" не помогут.
Сам процесс невидим afom.exe это не винда...
bunda1
Почему вредная?
Точно не помню , почему,то точно помню , что вредная.
Я, так понял, что иконку в трее никак не загасить ?
Отредактировано drage2 (28-02-2018 17:47:54)
Отсутствует
bunda1
Значит этот код никакой?
private void Form1_FormClosed(object sender, FormClosedEventArgs e) { notifyIcon1.Visible = false; notifyIcon1.Dispose(); }
Ну, если и вы не знаете, то и париться не стоит...
Отредактировано drage2 (28-02-2018 17:51:21)
Отсутствует
drage2
Проблема в том что сдаётся мне что afom у меня не хочт запускаться. Я его раньше с кнеопки вручную иногда запускал, а сейчас не хочет. Я же правильно помню, он должен появится в диспетчере задач?
запустите просто .exe он висит как процесс и ни где не отображается....
taskkill /im afom.exe /F
Start "" /MIN "%~dp0files\afom.exe"
exit
Отсутствует
drage2
Сам процесс невидим afom.exe это не винда...
Простите, но читаю что вы написали, а смысл понять не могу. А про "помню что вредная, но не помню почему" даже улыбнуло. Из разряда, "ложечки мы нашли, но осадок неприятный остался"
Процесс afom.exe при запуске должен появляется в диспетчере задач и у меня свистопляска с "включился-отключился" приводит к вылету браузера. Оставлю всё как было.
suz191
Я всегда запускал кнопкой
/*CODE*/ var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); file.initWithPath("V:\\mozilla\\afom.exe"); file.launch();
Но батник тоже вариант.
Отредактировано Mishania (28-02-2018 18:47:35)
Отсутствует
у меня свистопляска с "включился-отключился" приводит к вылету браузера.
тогда memreduct и ctrl+f1
https://forum.mozilla-russia.org/viewto … 25#p754525
Отредактировано suz191 (28-02-2018 19:11:24)
Отсутствует
bunda1
Если нет, то кто? А, нельзя ли в этом коде обойтись без WMI, а типа taskkill /f /im memreduct.exe...У меня все FF запускаются без WMIService.Exe
// Пример, код закрывает memreduct.exe при выходе из браузера: var closer = { observe: function(subject, topic, data) { if ( data == "shutdown" ){ var VBScript = 'strComputer = "."\ \nSet objWMIService = GetObject("winmgmts:" _\ \n& "{impersonationLevel=impersonate}!\\\\" & strComputer & "\\root\\cimv2")\ \nSet colProcessList = objWMIService.ExecQuery _\ \n("Select * from Win32_Process Where Name = \x27memreduct.exe\x27")\ \nFor Each objProcess in colProcessList\ \nobjProcess.Terminate()\ \nNext'; var file = Services.dirsvc.get('ProfD', Ci.nsIFile); file.append("processTerminate.vbs"); custombuttonsUtils.writeFile(file.path, VBScript); file.launch(); } } }; Services.obs.addObserver(closer, "quit-application", false);
Отсутствует
Она у вас по коду только открывается и закрывается...
В ней нужно кнопки нажимать для очистки (ctrl+f1)...
А без нажатий это равносильно тому если её установить в систему и просто пользоваться.
Отсутствует
Mem Reduct может запускаться и сразу чистить. С помощью NirCmd Нужны два батника - в один + VBS
nircmd.exe sendkeypress home - это раз, и VBS к нему
еще один бат:
nircmd.exe shexec "open" "C:\memreduct\32\memreduct.exe"
nircmd.exe shexec "open" "C:\nir\Home.vbs"
И Vbs уже к нему.Этот VBS ярлыком (значок ,как у проги и название)
Этот же VBS можно и в кнопку Memory
Но при выходе из браузера Nircom не может ее выключить, только убить процесс, нужна прога trayupdate.exe, тогда и эта проблема решается.
Добавлено 03-03-2018 15:27:59
del
Отредактировано drage2 (03-03-2018 15:27:59)
Отсутствует
в ff59 совсем перестал отображаться [CB]Memory Monitor
Работает только как кнопка, а в адресной строке ни в какую не хочет
Проверьте пожалуйста правильно ли я сделал на кнопке?
if ( memory < 400 ) return;
var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
file.initWithPath('Z:\\BROWSER\\GiperFox\\!Lib\\!Clear-RAM.LNK');
file.launch();
// Настройка функций кликов мыши для кнопки ................................
this.onclick = function(e) {
if ( e.button == 0 ) {
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);
});
}
if ( e.button == 1 ) gShowPopup(this);
if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) {
e.preventDefault();
// очистить кэш ....
try {
Services.cache.evictEntries(Ci.nsICache.STORE_IN_MEMORY);
Services.cache.evictEntries(Ci.nsICache.STORE_ON_DISK);
}
catch(e) { Services.cache2.clear() }// Удалить Flash кукиси ....
var dir = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties).get("Home", Ci.nsIFile);
dir.append("Application Data");
dir.append("Macromedia");
if ( dir.exists() ) dir.remove(true);
if ( !dir.exists() ) dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777);// Всплывающее сообщение ....
var alertService = Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService);
alertService.showAlertNotification('chrome://global/skin/icons/information-16.png', 'Показывать потребление памяти', 'Очистил кеш и удалил Flash кукиси');
setTimeout(function() { alertService.closeAlert() }, 2500);
}
};// Показывать потребление памяти на текущей кнопке ................................
(function () {
self.label = getMemory() + 'MB';
self.timer = setInterval(function() {
var memory = getMemory();
self.label = memory + ' MB'if ( memory < 400 ) return;
var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
file.initWithPath('Z:\\BROWSER\\GiperFox\\!Lib\\!Clear-RAM.LNK');
file.launch();
}, 2000 ); // таймер обновляет счётчик раз в 2000мс( 2 сек )
// Получить потребление памяти в 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 }; // для Nightly
return ( Math.round( memory/1048576 ) );
};// Стиль добавляет текст на кнопку ....
var uri = makeURI('data:text/css,'+ encodeURIComponent('\
%button% .toolbarbutton-icon {\
display: none !important;\
}\
%button% .toolbarbutton-text {\
display: -moz-box !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() {
try { window.clearTimeout( self.timer ) } catch(e) {};
});
})();// Всплывающая подсказка у счётчика отображает заполнение дискового кеша ..............
var data = {
memory: "Memory Cache: ",
disk: "Disk Cache: ",
offline: "Offline Cache: "
};
function getSize(size) {
if (!size) return size === 0 ? "0" : "?";
for(var count = -1; size >= 1024; size /= 1024, count++);
return size.toFixed(2).replace(/0+$/, "").replace(/\.$/, "") + " " + ("KMGT"[count] || "") + "B";
}
function setInf(tot, max, type, i) {
var inf = getSize(tot) + " / " + getSize(max);
var key = "browser.cache." + type + ".enable";
if (!Services.prefs.getBoolPref(key)) inf += " (disabled)";
self.tooltipText = self.tooltipText.replace(zws(i), inf);
}
function zws(ind) "\u200B\u200B\u200B".slice(0, ++ind);var types = Object.keys(data);
var ttt = types.map(function(key, i) data[key] + zws(i)).join("\n");
var context = Cu.import("resource://gre/modules/LoadContextInfo.jsm", {}).LoadContextInfo.default;
self.onmouseenter = function() {
self.tooltipText = "Л: Подробно показать потребление памяти \nС: CB Меню \nП: Очистить кэш и удалить Flash-куки\n\n" + ttt;
try {
var entries = {};
Services.cache.visitEntries({
visitDevice: function(device, info) entries[device] = info,
visitEntry: function() {}
});
types.forEach(function(type, i) {
var info = entries[type];
setInf(info && info.totalSize, info && info.maximumSize, type, i)
});
}
catch(ex) {
Services.cache2 && types.forEach(function(type, i) {
var func = function(aEntryCount, aConsumption, aCapacity, aDiskDirectory)
setInf(aConsumption, aCapacity, type, i);
var storage = Services.cache2[(type == "offline" ? "app" : type) + "CacheStorage"](context, null);
try { storage.asyncVisitStorage({onCacheStorageInfo: func}, false) } catch(ex) {};
});
}
};
Отредактировано suz191 (13-03-2018 22:47:23)
Отсутствует
Всем привет!
Мои пять копеек к данной теме. У меня afom не работает. Вылетает при запуске, поэтому использую memreduct. Написал себе вот такую кнопку, которая запускает memreduct, прожимает ctrl+F1 (очистка памяти) и убивает memreduct.
Вставить на вкладку "Код"
// путь до папки с firefox.exe var profileDir = Components.classes["@mozilla.org/file/directory_service;1"] .getService(Components.interfaces.nsIProperties) .get("CurProcD", Components.interfaces.nsILocalFile) .path; // путь до исполняемого файла var xul = profileDir + "\\..\\..\\Profile\\User_files\\memreduct\\RunMemreduct.exe"; // выполение исполняемого файла и его агрумент, например ["c:\\boot.ini"] startProcess(xul,[""]); // Сообщение об ошибке function startProcess(path, args) { var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); file.initWithPath(path); if(file.exists()) { var process = Components.classes["@mozilla.org/process/util;1"] .createInstance(Components.interfaces.nsIProcess); process.init(file); process.run(false, args, args.length); } else custombuttons. alertBox ("Файл не найден", path); };
Стартер написан с помощью бесплатной проги Perfect Automation.
Исходный код лежит здесь
Можете скачать прогу и исходник и убедиться, что ничего опасного в нем нет.
У меня на портативном firefox 56 всё работает отлично. Единственное, иногда срабатывает не с первого раза, а со второго. Плюс в трее висит "призрачный" memredict. Но стоит провести курсором по иконке в трее, и он очищается.
Кстати, если кто-то хочет поправить код, то я буду только за, поскольку разбираюсь во всем этом очень слабо. Просто взял какую-то кнопку и подставил свои значения.
Отредактировано shurik842 (15-04-2018 11:59:19)
Отсутствует
shurik842
Отредактировано xrun1 (26-06-2019 01:20:56)
На форуме
Чтобы не париться Memory с полным фаршем:
https://www.upload.ee/files/8338368/Memory.rar.html
Отсутствует
suz191 пишетв 60 firefox перестало работать и кнопка и строка состояния
А дополнение Custom Buttons включено и работает?
Да, заставил работать этим методом https://forum.mozilla-russia.org/viewto … 99#p752799
Но, Memory Monitor отвалился поскольку переделали интерфейс и доступа к памяти больше нет...
В место кнопки Memory Monitor звезда, а в строке состояния исчезло и не работает с версии 59...
Нужно, что-то так же внедрять в код, чтоб получить доступ к памяти...
Нужен кто-то понимающий в этом во всем
Отсутствует
доступа к памяти больше нет...
Есть. Мне удалось запустить кастрированный вариант кнопки. Попробую повторить опыт, так как похерил то что сделал.
Вышло очень странно: сделал клон кнопки (которая как бы не работала и находилась на панели, вместо строки урла).
Клон кнопки покоцал, оставив лишь получение памяти и тупо вывод переменной memory в Alert.
В алерте память показывалась. А затем значение появилось и в строке урла.
Повторил опыт. Вот код, который "работает" в 60.
/*Initialization Code*/ var idbut=this.id; var urlbar = document.getElementById("page-action-buttons"); var button = document.getElementById(idbut); urlbar.insertBefore(button, urlbar.lastChild); var style = custombutton.buttonGetHelp(self).replace(/id/g, _id); var uri = makeURI('data:text/css,'+ encodeURIComponent(style)); var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); sss.loadAndRegisterSheet(uri, 0); (function () { self.timer = setInterval(function() { self.label = getMemory() + ' mb'}, 2000 ); // Получить всю занимаемую оперативную память в 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 ) ); }; // Удалять счётчик памяти и другие изменения .... addDestructor(function() { try { window.clearTimeout( self.timer ) } catch(e) {}; }); })();
Отсутствует
Отвалились и кнопки видео и кнопки , работающие из контекст меню. Кнопки , меняющие параметры в about:config кое-как сделал. Короче, нужен новый CB///
Фуфло , а не браузер...Режут Xul систему, вот и все новшества. Если уж так косите под хром, так хотя бы декодер Mp4 сделали....Ну, дергается чуть шустрее, так оно и понятно, куча аддонов упала...." хромофокс" недоделанный.
Отсутствует
suz191
Ну, я попробовал просто вывести в адресную строку лейбл,
отображающий расход памяти. (типа как на странице about:performance)
Вроде что-то показывает на Firefox 60, и, даже, на Nightly 62 (2018-05-10).
setTimeout(url => { var mode = "rss"; // "rss" - Resident Set Size, "uss" - Unique Set Size var interval = 1500; // ms var before = null; var parent = before ? before.parentNode : document.getElementById("page-action-buttons"); var lab = parent.insertBefore(document.createElement("label"), before); var nsvo = Cu.import(url, {}); if (!("labels" in nsvo)) { nsvo.labels = new Set(); var mb = 1024 * 1024, gb = mb * 1024; var format = num => num < gb ? Math.round(num / mb) + "MB" : (Math.round(100 * num / gb) / 100).toFixed(2) + "GB"; var updateLabels = bytes => { if (bytes) for(var lab of nsvo.labels) lab.setAttribute("value", format(bytes)); } if (Services.ppmm.childCount == 1) { var mrm = Cc["@mozilla.org/memory-reporter-manager;1"] .getService(Ci.nsIMemoryReporterManager); var prop = "resident" + (mode == "uss" ? "Unique" : ""); var tick = () => updateLabels(mrm[prop]); } else { var tick = async () => { var res = await nsvo.Memory.summary(), bytes = 0; for(var prop in res) bytes += res[prop][mode]; updateLabels(bytes); } } tick(); nsvo.intId = nsvo.setInterval(tick, interval); } nsvo.labels.add(lab); addDestructor(reason => { nsvo.labels.delete(lab); lab.remove(); if (reason[5] == "e" && !nsvo.labels.size) nsvo.clearInterval(nsvo.intId), Cu.unload(url); }); }, 500, "resource://gre/modules/Memory.jsm?" + _id);
Отсутствует
suz191
Ну, я попробовал просто вывести в адресную строку лейбл,
отображающий расход памяти. (типа как на странице about:performance)Вроде что-то показывает на Firefox 60, и, даже, на Nightly 62 (2018-05-10).
скрытый текстВыделить кодКод:
setTimeout(url => { var mode = "rss"; // "rss" - Resident Set Size, "uss" - Unique Set Size var interval = 1500; // ms var before = null; var parent = before ? before.parentNode : document.getElementById("page-action-buttons"); var lab = parent.insertBefore(document.createElement("label"), before); var nsvo = Cu.import(url, {}); if (!("labels" in nsvo)) { nsvo.labels = new Set(); var mb = 1024 * 1024, gb = mb * 1024; var format = num => num < gb ? Math.round(num / mb) + "MB" : (Math.round(100 * num / gb) / 100).toFixed(2) + "GB"; var updateLabels = bytes => { if (bytes) for(var lab of nsvo.labels) lab.setAttribute("value", format(bytes)); } if (Services.ppmm.childCount == 1) { var mrm = Cc["@mozilla.org/memory-reporter-manager;1"] .getService(Ci.nsIMemoryReporterManager); var prop = "resident" + (mode == "uss" ? "Unique" : ""); var tick = () => updateLabels(mrm[prop]); } else { var tick = async () => { var res = await nsvo.Memory.summary(), bytes = 0; for(var prop in res) bytes += res[prop][mode]; updateLabels(bytes); } } tick(); nsvo.intId = nsvo.setInterval(tick, interval); } nsvo.labels.add(lab); addDestructor(reason => { nsvo.labels.delete(lab); lab.remove(); if (reason[5] == "e" && !nsvo.labels.size) nsvo.clearInterval(nsvo.intId), Cu.unload(url); }); }, 500, "resource://gre/modules/Memory.jsm?" + _id);
Да, показывает что-то мощное... Уж больно много, наверное вообще от всех firefox процессов
Возможно ли туда прикрутить очистку из этого кода?
if ( memory < 400 ) return;
var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
file.initWithPath('Z:\\BROWSER\\GiperFox\\!Lib\\!Clear-RAM.LNK');
file.launch();
}, 2000 ); // таймер обновляет счётчик раз в 2000мс( 2 сек )
// Настройка функций кликов мыши для кнопки ................................
this.onclick = function(e) {
if ( e.button == 0 ) {
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);
});
}
if ( e.button == 1 ) gShowPopup(this);
if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) {
e.preventDefault();
// очистить кэш ....
try {
Services.cache.evictEntries(Ci.nsICache.STORE_IN_MEMORY);
Services.cache.evictEntries(Ci.nsICache.STORE_ON_DISK);
}
catch(e) { Services.cache2.clear() }
// Удалить Flash кукиси ....
var dir = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties).get("Home", Ci.nsIFile);
dir.append("Application Data");
dir.append("Macromedia");
if ( dir.exists() ) dir.remove(true);
if ( !dir.exists() ) dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777);
// Всплывающее сообщение ....
var alertService = Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService);
alertService.showAlertNotification('chrome://global/skin/icons/information-16.png', 'Показывать потребление памяти', 'Очистил кеш и удалил Flash кукиси');
setTimeout(function() { alertService.closeAlert() }, 2500);
}
};
// Показывать потребление памяти на текущей кнопке ................................
(function () {
self.label = getMemory() + 'MB';
self.timer = setInterval(function() {
var memory = getMemory();
self.label = memory + ' MB'
if ( memory < 400 ) return;
var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
file.initWithPath('Z:\\BROWSER\\GiperFox\\!Lib\\!Clear-RAM.LNK');
file.launch();
}, 2000 ); // таймер обновляет счётчик раз в 2000мс( 2 сек )
// Получить потребление памяти в 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 }; // для Nightly
return ( Math.round( memory/1048576 ) );
};
// Стиль добавляет текст на кнопку ....
var uri = makeURI('data:text/css,'+ encodeURIComponent('\
%button% .toolbarbutton-icon {\
display: none !important;\
}\
%button% .toolbarbutton-text {\
display: -moz-box !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() {
try { window.clearTimeout( self.timer ) } catch(e) {};
});
})();
// Всплывающая подсказка у счётчика отображает заполнение дискового кеша ..............
var data = {
memory: "Memory Cache: ",
disk: "Disk Cache: ",
offline: "Offline Cache: "
};
function getSize(size) {
if (!size) return size === 0 ? "0" : "?";
for(var count = -1; size >= 1024; size /= 1024, count++);
return size.toFixed(2).replace(/0+$/, "").replace(/\.$/, "") + " " + ("KMGT"[count] || "") + "B";
}
function setInf(tot, max, type, i) {
var inf = getSize(tot) + " / " + getSize(max);
var key = "browser.cache." + type + ".enable";
if (!Services.prefs.getBoolPref(key)) inf += " (disabled)";
self.tooltipText = self.tooltipText.replace(zws(i), inf);
}
function zws(ind) "\u200B\u200B\u200B".slice(0, ++ind);
var types = Object.keys(data);
var ttt = types.map(function(key, i) data[key] + zws(i)).join("\n");
var context = Cu.import("resource://gre/modules/LoadContextInfo.jsm", {}).LoadContextInfo.default;
self.onmouseenter = function() {
self.tooltipText = "Л: Подробно показать потребление памяти \nС: CB Меню \nП: Очистить кэш и удалить Flash-куки\n\n" + ttt;
try {
var entries = {};
Services.cache.visitEntries({
visitDevice: function(device, info) entries[device] = info,
visitEntry: function() {}
});
types.forEach(function(type, i) {
var info = entries[type];
setInf(info && info.totalSize, info && info.maximumSize, type, i)
});
}
catch(ex) {
Services.cache2 && types.forEach(function(type, i) {
var func = function(aEntryCount, aConsumption, aCapacity, aDiskDirectory)
setInf(aConsumption, aCapacity, type, i);
var storage = Services.cache2[(type == "offline" ? "app" : type) + "CacheStorage"](context, null);
try { storage.asyncVisitStorage({onCacheStorageInfo: func}, false) } catch(ex) {};
});
}
};
Отредактировано suz191 (17-05-2018 23:10:34)
Отсутствует
Dumby
перепробовал сейчас методом тыка прикрутить сброс памяти при определенной цифре не получается!
нужно как-то задать
var memory = "resource://gre/modules/Memory.jsm?" ;
Но так оно не работает
Белиберда конечно но я просто попытался объяснить смысл...
var memory = "resource://gre/modules/Memory.jsm?" ;
}, 500, memory + _id);
if ( memory < 400 ) return;
var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
file.initWithPath('путь до файла');
file.launch();
Отсутствует
1. Coroner https://forum.mozilla-russia.org/viewto … 39#p757739 У меня не получилось
Ну тут уже выше моего понимания. У меня этот огрызок работает. Осталось лишь нажатия прикрутить...
#id .toolbarbutton-text { color: #00FF00 !important; font-weight: bold !important; font-size: 10px !important; Min-height: 23px !important; display: block !important; } #id .toolbarbutton-icon { display: none !important; }
Отредактировано Coroner (11-05-2018 21:12:02)
Отсутствует