Теперь проблема .Их много и аддон "поиск из контекста"
https://addons.mozilla.org/ru/firefox/s … t%20Search берет все поисковики скопом, на отключенные не реагирует.
Да, вижу, повыключал почти все, а он всё равно все те 71 вываливает.
Но аддон не виноват, просто гуглячьи API не предоставляют здесь никаких возможностей.
Можно еще патч всунуть, как с http
// (async cso => { var defaultEngine = "vatera"; var searchOrder = ["vatera", "google", "Eudict", "palasprint", "readmoo", "ddg"]; var rph = Cc["@mozilla.org/network/protocol;1?name=resource"].getService(Ci.nsIResProtocolHandler); var uri = rph.getSubstitution("app").QueryInterface(Ci.nsIJARURI).JARFile; var u = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService).newURI; var chrome = [], push = (url, mime, src, rep) => { var code = Cu.readUTF8URI(u(url)).replace(src, rep); var newURL = `data:${mime};charset=utf-8,` + encodeURIComponent(code); chrome.push(["override", url, newURL]); } push(cso, "application/json", /https(?!\?)/g, "$&?"); push( "chrome://browser/content/parent/ext-search.js", "application/x-javascript", "Services.search.getVisibleEngines();", `$& var hiddenOneOffs = Services.prefs.getStringPref("browser.search.hiddenOneOffs", ""); if (hiddenOneOffs) hiddenOneOffs = hiddenOneOffs.split(","), visibleEngines = visibleEngines.filter( engine => !hiddenOneOffs.includes(engine.name) );` ); var ams = Cc["@mozilla.org/addons/addon-manager-startup;1"].getService(Ci.amIAddonManagerStartup); globalThis[Symbol("chrome patches")] = ams.registerChrome(uri, chrome); var prfx = "chrome/browser/search-extensions/", len = prfx.length; var names = ams.enumerateJAR(uri, `${prfx}*/$~${prfx}*/[^$]*`).map(n => n.slice(len, -1)); searchOrder.reverse(); var sel = {engines: []}, dlc = defaultEngine.toLowerCase(); var find = function(name) {return name.toLowerCase() == this} for(var name of names) { var lc = name.toLowerCase(); var engine = {webExtension: {id: lc + "@search.mozilla.org", locale: "default"}}; var ind = searchOrder.findIndex(find, lc); if (ind >= 0) engine.orderHint = ind + 1; sel.engines[lc == dlc ? "unshift" : "push"](engine); } Cc["@mozilla.org/browser/search-service;1"].getService(Ci.nsISearchService) .wrappedJSObject._fetchEngineSelectorEngines = async () => sel; })("chrome://browser/content/schemas/chrome_settings_overrides.json");
… var hiddenOneOffs = Services.prefs.getStringPref("browser.search.hiddenOneOffs", ""); if (hiddenOneOffs) hiddenOneOffs = hiddenOneOffs.split(","), visibleEngines = visibleEngines.filter( engine => !hiddenOneOffs.includes(engine.name) );
data:image/png;base64,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
Отсутствует
voqabuhe
Кнопка для CB есть здесь, 4-й спойлер. Там по ЛКМ чистится кэш диска и памяти. Не проверял и не знаю, рабочий ли вариант... Спроси у egorsemenov06. А у solombala, если мне память не изменяет, в скрипте вызывается что-то типа memreduct.
Отсутствует
voqabuhe
Поищите здесь или в CSS - memoryMinimizationButton
Исходник тут - memoryMinimizationButton.uc.js
С минимальными правками подключается в UCF.
Отсутствует
rubel
Я себе когда-то делал.
Путь только свой пропиши, и иконку.
try {CustomizableUI.createWidget({ id: "AttributesInspector", label: "Attributes Inspector", image: "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf///////////9EAKf/RACn/0QAp////////////0QAp///////////////////////RACn/0QAp/9EAKf/RACn////////////RACn/0QAp/9EAKf///////////9EAKf//////////////////////0QAp/9EAKf/RACn/0QAp////////////0QAp/9EAKf/RACn////////////RACn/0QAp////////////0QAp/9EAKf/RACn/0QAp/9EAKf///////////9EAKf/RACn/0QAp////////////0QAp/9EAKf///////////9EAKf/RACn/0QAp/9EAKf/RACn//////////////////////////////////////9EAKf/RACn////////////RACn/0QAp/9EAKf/RACn/0QAp///////////////////////////////////////RACn/0QAp////////////0QAp/9EAKf/RACn/0QAp/9EAKf///////////9EAKf/RACn/0QAp////////////0QAp/9EAKf///////////9EAKf/RACn/0QAp/9EAKf/RACn////////////RACn/0QAp/9EAKf///////////9EAKf/RACn////////////RACn/0QAp/9EAKf/RACn/0QAp/////////////////9EAKf/RACn////////////RACn/0QAp////////////0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/////////////////////////////////0QAp/9EAKf///////////9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf//////////////////////0QAp/9EAKf//////////////////////0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp////////////0QAp/9EAKf/RACn//////////////////////9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/RACn/0QAp/9EAKf/AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ==", localized: false, onCreated(btn) { btn.setAttribute("image", this.image); btn.setAttribute("tooltiptext", this.label); btn.onmouseenter = btn.onmouseleave = this.onmouse; btn.setAttribute("oncommand", "handleCommand(this)"); btn.handleCommand = this.handleCommand; }, get handleCommand() { delete this.handleCommand; return this.handleCommand = btn => { (btn.handleCommand = new btn.ownerGlobal.Function(this.code).bind(btn))(); } }, get code() { delete this.code; return this.code = "this.focusedWindow && this.focusedWindow.focus();\n" + Cu.readUTF8URI(Services.io.newURI( "chrome://user_chrome_files/content/custom_scripts/USER/Sandbox/Widgets/attributesInspector.js" )); }, onmouse: e => e.target.focusedWindow = e.type.endsWith("r") && Services.wm.getMostRecentWindow(null) });} catch(ex) {Cu.reportError(ex);}
Отсутствует
Кнопка для CB есть здесь, 4-й спойлер. Там по ЛКМ чистится кэш диска и памяти. Не проверял и не знаю, рабочий ли вариант...
Ага, спасибо, кнопка рабочая.
А у solombala, если мне память не изменяет, в скрипте вызывается что-то типа memreduct.
Похоже на то, ибо после ЛКМ ломится в профиле к memred/start.vbs. Вот этого start.vbs и не хватает, его как понимаю solombala и зажал.
Исходник тут - memoryMinimizationButton.uc.js
С минимальными правками подключается в UCF.
Спасибо, полностью рабочая кнопка, ничего править не надо. Она для GitHub - Aris-t2/CustomJSforFx: custom scripts
Отсутствует
memoryMinimizationButton.uc.js
Да какая-то бестолковая кнопка. Ничего не показывает, сколько было и сколько стало после оптимизации.
Вот была хорошая кнопка Memory Monitorдля старых версий.
Dumby
Может быть вы её почините для новых версий, чтоб правильно отображала потребление памяти?
Ну и конечно желательно адаптировать для UCF.
Отсутствует
memoryMinimizationButton.uc.js
Да какая-то бестолковая кнопка. Ничего не показывает, сколько было и сколько стало после оптимизации.
Дык она в паре с Memory Monitor работает, ссылку на которую выше xrun1 дал. Одна оптимизирует, другая показывает.
Отсутствует
voqabuhe
Дык она в паре с Memory Monitor работает, ссылку на которую выше xrun1 дал. Одна оптимизирует, другая показывает.
Ну дык Виталий её так и не сделал для UCF.
Вот здесь egorsemenov06 только просит(4спойлер) сделать её для UCF.
Так что ждем.
Отсутствует
Может быть вы её почините
Не, что-то не охота.
для новых версий, чтоб правильно отображала потребление памяти?
Ну и конечно желательно адаптировать для UCF.
Могу нечто простенькое предложить.
Ни приблуд, ни прибамбасов, вообще ничего.
Суммарный жор памяти, так, как показывает его страница about:processes
В custom_script.js
(async id => ({ delay: 2e3, val: "", init(topic, mm) { Services.obs.addObserver(mm = this, topic); Services.obs.addObserver(function quit(s, t) { this.timer?.cancel(); Services.obs.removeObserver(mm, topic); Services.obs.removeObserver(quit, t); }, "quit-application-granted"); }, observe(win) { var df = win.MozXULElement.parseXULToFragment( `<hbox id="${id}"><label id="${id += "-label"}"/></hbox>` ); this.timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer); (this.observe = async win => { this.timer.cancel(); await new Promise(ChromeUtils.idleDispatch); win.document.getElementById("star-button-box") .after(win.document.importNode(df, true)); this.notify(); })(win); }, async notify() { var info = await ChromeUtils.requestProcInfo(); var bytes = info.residentSetSize; for(var child of info.children) bytes += child.residentUniqueSize; this.timer.initWithCallback(this, this.delay, this.timer.TYPE_ONE_SHOT); var prev = this.val; if ((this.val = this.mgb(bytes)) != prev) for(var win of CustomizableUI.windows) { var lab = win.document.getElementById(id); if (lab) lab.value = this.val; } }, mgb: bytes => bytes < 1073741824 ? Math.round(bytes / 1048576) + "MB" : (bytes / 1073741824).toFixed(2) + "GB" }).init("browser-delayed-startup-finished"))("ucf-mem-indicator");
Отредактировано Dumby (20-04-2021 09:53:52)
Отсутствует
voqabuhe
Она для GitHub - Aris-t2/CustomJSforFx: custom scripts
Я знаю для чего она.
ничего править не надо
Надо, если хотите подключить ее в UCF. Я ж об этом писал.
Добавлено 05-03-2021 11:09:27
Dumby
На 78 не взлетает, да и about:processes на 78 нет, вроде.
Отредактировано _zt (05-03-2021 11:09:51)
Отсутствует
На 78 не взлетает, да и about:processes на 78 нет, вроде.
Да, на 78 ещё нет residentUniqueSize
Можно заменить на тот же residentSetSize и будет сумма таких.
Но, вот обоснование введения residentUniqueSize,
цитата из aboutProcesses.js. Заставляет задуматься.
... // Resident set size is the total memory used by the process, including shared memory. // Resident unique size is the memory used by the process, without shared memory. // Since all processes share memory with the parent process, we count the shared memory // as part of the parent process (`"browser"`) rather than as part of the individual // processes. let totalRamSize = cur.type == "browser" ? cur.residentSetSize : cur.residentUniqueSize;
Отсутствует
_zt
Надо, если хотите подключить ее в UCF. Я ж об этом писал.
Ну может поделитесь правленной версией.
Добавлено 05-03-2021 11:53:27
Dumby
Могу нечто простенькое предложить.
Ни приблуд, ни прибамбасов, вообще ничего
Все равно спасибо, наглядно виден расход памяти в адресной строке.
Отредактировано rubel (05-03-2021 11:53:27)
Отсутствует
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3Eram%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/jpeg%3Bbase64%2C%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*Initialization%20Code*/%0A%0A%0A//%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A//%20Memory%20Monitor%20................................%0A//%20https%3A//forum.mozilla-russia.org/viewtopic.php%3Fid%3D52237%0A//%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0Avar%20idbut%3Dthis.id%3B%0Avar%20urlbar%20%3D%20document.getElementById%28%22page-action-buttons%22%29%3B%0Avar%20button%20%3D%20document.getElementById%28idbut%29%3B%0Aurlbar.insertBefore%28button%2C%20urlbar.Child%29%3B%0A%0Avar%20style%20%3D%20custombutton.buttonGetHelp%28self%29.replace%28/id/g%2C%20_id%29%3B%0Avar%20uri%20%3D%20makeURI%28%27data%3Atext/css%2C%27+%20encodeURIComponent%28style%29%29%3B%0Avar%20sss%20%3D%20Cc%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D.getService%28Ci.nsIStyleSheetService%29%3B%0Asss.loadAndRegisterSheet%28uri%2C%200%29%3B%0A%0A//%20%u041F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%20%u043A%u043D%u043E%u043F%u043A%u0438%20................................%0Athis.tooltipText%20%3D%20%22%u041B%u041A%u041C%3A%20%u041E%u0447%u0438%u0441%u0442%u0438%u0442%u044C%20%u041F%u0430%u043C%u044F%u0442%u044C%22%3B%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A//%20%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20................................%0Athis.onclick%20%3D%20this.oncontextmenu%20%3D%20function%28event%29%20%7B%0A%20%20%20%20%0A%20%20%20%0A%20%20%20%20%20%20if%20%28event.button%20%3D%3D%200%29%20%7B%20%0A%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20var%20file%20%3D%20Services.dirsvc.get%28%27ProfD%27%2C%20Ci.nsIFile%29%3B%0A%20%20%20%20%20%20%20%20%20file.initWithPath%28file.path%20+%20%22%5C%5Cmemreduk%5C%5Cstart.vbs%22%29%3B%20%0A%20%20%20%20%20%20%20%20%20file.launch%28%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%0A%7D%3B%0Athis.oncontextmenu%20%3De%3D%3E%20%7B%20e.button%20%26%26%20%21e.ctrlKey%20%26%26%20e.preventDefault%28%29%20%7D%3B%0A%20%20%20%20%20%20%20%20%0A//%20%u041F%u043E%u043A%u0430%u0437%u044B%u0432%u0430%u0442%u044C%20%u043F%u043E%u0442%u0440%u0435%u0431%u043B%u0435%u043D%u0438%u0435%20%u043F%u0430%u043C%u044F%u0442%u0438%20%u043D%u0430%20%u0442%u0435%u043A%u0443%u0449%u0435%u0439%20%u043A%u043D%u043E%u043F%u043A%u0435%0A%28function%20%28%29%20%7B%20%0Aself.timer%20%3D%20setInterval%28function%28%29%20%7B%0A%20%20%20%20%20%20var%20memory%20%3D%20getMemory%28%29%3B%0A%20%20%20%20%20%20self.label%20%3D%20getMemory%28%29%0A%20%20%20%20%20%20if%20%28%20memory%20%3E%20770%20%29%20%7B%0A%20%20%20%20%20%20%20%20var%20file%20%3D%20Services.dirsvc.get%28%27ProfD%27%2C%20Ci.nsIFile%29%3B%0A%20%20%20%20%20%20%20%20%20file.initWithPath%28file.path%20+%20%22%5C%5Cmemreduk%5C%5Cstart.vbs%22%29%3B%20%0A%20%20%20%20%20%20%20%20%20file.launch%28%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%7D%2C%202000%20%29%3B%20%20%20%20%20%0A%20%0A//%20%u041F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u0432%u0441%u044E%20%u0437%u0430%u043D%u0438%u043C%u0430%u0435%u043C%u0443%u044E%20%u043E%u043F%u0435%u0440%u0430%u0442%u0438%u0432%u043D%u0443%u044E%20%u043F%u0430%u043C%u044F%u0442%u044C%20%u0432%20MB%20....%0A%20%20%20function%20getMemory%28%29%20%7B%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20var%20reporterManager%20%3D%20Cc%5B%22@mozilla.org/memory-reporter-manager%3B1%22%5D.getService%28Ci.nsIMemoryReporterManager%29%3B%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20e%20%3D%20reporterManager.enumerateReporters%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20while%20%28%20e.hasMoreElements%28%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20mr%20%3D%20e.getNext%28%29.QueryInterface%28Ci.nsIMemoryReporter%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20self%5Bmr.path%5D%20%3D%20mr%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20var%20memory%20%3D%20self%5B%22resident%22%5D.amount%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20catch%28e%29%20%7B%20var%20memory%20%3D%20reporterManager.resident%3B%20%7D%20//%20FF26%20-%20Nightly%0A%20%20%20%20%20%0A%20%20%20%20%20%20return%20%28%20Math.round%28%20memory/1048576%20%29%20%29%3B%0A%20%20%20%7D%3B%20%20%20%20%20%0A%0A//%20%u0421%u0442%u0438%u043B%u044C%20%u0434%u043E%u0431%u0430%u0432%u043B%u044F%u0435%u0442%20%u0442%u0435%u043A%u0441%u0442%20%u043D%u0430%20%u043A%u043D%u043E%u043F%u043A%u0443%20....%0A%20%20%20var%20uri%20%3D%20makeURI%28%27data%3Atext/css%2C%27+%20encodeURIComponent%28%27%5C%0A%20%20%20%25button%25%20.toolbarbutton-icon%20%7B%5C%0A%20%20%20%20%20display%3A%20none%20%21important%3B%5C%0A%20%20%20%7D%5C%0A%20%20%20%25button%25%20.toolbarbutton-text%20%7B%5C%0A%20%20%20%20%20display%3A%20-moz-box%20%21important%3B%5C%0A%20%20%20%7D%5C%0A%20%20%20%25button%25%20%7B%5C%0A%20%20%20%20%20-moz-box-orient%3A%20horizontal%20%21important%3B%5C%0A%20%20%20%7D%5C%0A%20%20%20%27.replace%28/%25button%25/g%2C%20%22%23%22%20+%20_id%29%20%29%29%3B%0A%20%20%20const%20sss%20%3D%20Cc%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D.getService%28Ci.nsIStyleSheetService%29%3B%0A%20%20%20sss.loadAndRegisterSheet%28uri%2C%20sss.AGENT_SHEET%29%3B%0A%20%20%20%0A//%20%u0423%u0434%u0430%u043B%u044F%u0442%u044C%20%u0441%u0447%u0451%u0442%u0447%u0438%u043A%20%u043F%u0430%u043C%u044F%u0442%u0438%20%u0438%20%u0434%u0440%u0443%u0433%u0438%u0435%20%u0438%u0437%u043C%u0435%u043D%u0435%u043D%u0438%u044F%20....%0A%20%20addDestructor%28function%28%29%20%7B%0A%20%20%20%20%20%20try%20%7B%20window.clearTimeout%28%20self.timer%20%29%20%7D%20catch%28e%29%20%7B%7D%3B%0A%20%20%20%7D%29%3B%0A%7D%29%28%29%3B%0A%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%23id%20.toolbarbutton-text%20%7B%0Amin-height%3A%2023px%20%21important%3B%20height%3A%2023px%20%21important%3B%20border-radius%3A%203px%20%20%21important%3B%20padding%3A%200px%205px%200px%20%21important%3B%20font-family%3A%20segoe%20ui%20%21important%3B%20%20color%3A%20%2300ffff%20%21important%3B%20font-size%3A%2015px%20%21important%3B%20%20margin-bottom%3A%202px%20%21important%3B%20%20margin-right%3A%201px%20%21important%3B%20margin-left%3A%203px%20%21important%3B%20%20background%3A%20linear-gradient%28rgb%2872%2C%2085%2C%20108%29%2Crgb%2820%2C%2025%2C%2034%29%29%20%21important%3B%0A%20%20%20%20%20%0A%7D%0A%0A%23id%20.toolbarbutton-icon%20%7B%0A%20%20display%3A%20none%20%21important%3B%0A%7D%20%0A%0A%0A%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Url кнопки память .Плюс приблуды .Папку memreduk - в профиль. Версия винды 64.Браузер - без разницы .У кого винда32- сменить две соответствующие утилиты(memred и nircmd)
https://www.upload.ee/files/12966080/memreduk.rar.html Автоматом срабатывает при 770мгб .сами выставляйте. Для особо одаренных - при мультережиме нет большого смысла.
Добавлено 05-03-2021 13:32:50
Видео в плеер,(без мультирежима) Плеер -смотреть путь в двух местах прописан!
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%u0412%u0438%u0434%u0435%u043E%20%u0432%20player%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bmoz-icon%3A//file%3A//D%3A%5CPotPlayer%5CPotPlayerMini64.exe%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*Initialization%20Code*/%0A%0A%0A%0Avar%20path%20%3D%20%27D%3A%5C%5CPotPlayer%5C%5CPotPlayerMini64.exe%27%0A%0Avar%20sysPlayerName%20%3D%20%22PotPlayer%22%3B%0A%0Avar%20openIn%20%3D%20%22%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0432%20%22+sysPlayerName%3B%0Avar%20videoMoved%20%3D%20%22%u0412%u0438%u0434%u0435%u043E%20%u043F%u0435%u0440%u0435%u043D%u0435%u0441%u0435%u043D%u043E%20%u0432%20%22+sysPlayerName%3B%0Avar%20noFound%20%3D%20%22%u041D%u0435%20%u043D%u0430%u0439%u0434%u0435%u043D%u043E%20%u0432%u0438%u0434%u0435%u043E%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%2C%20%u0434%u043E%u0441%u0442%u0443%u043F%u043D%u043E%u0435%20%u0434%u043B%u044F%20%u043F%u0435%u0440%u0435%u043D%u043E%u0441%u0430%20%u0432%20%22+sysPlayerName%3B%0A%0Avar%20YoutubeID%20%3D%20/%28%3F%3Ayoutube%28%3F%3A-nocookie%29%3F%5C.com%5C/%28%3F%3A%5B%5E%5C/%5Cn%5Cs%5D+%5C/%5CS+%5C/%7C%28%3F%3Av%7Ce%28%3F%3Ambed%29%3F%29%5C/%7C%5CS*%3F%5B%3F%26%5Dv%3D%29%7Cyoutu%5C.be%5C/%29%28%5Ba-zA-Z0-9_-%5D%7B11%7D%29%28%3F%3A%5CW%7C%24%29/%3B%0A%0A%0A%0Aif%28%21%28cbu.getPrefs%28%22CB.KMP%22%29%29%20%7C%7C%20cbu.getPrefs%28%22CB.KMP%22%29.length%20%3C%209%29%20cbu.setPrefs%28%22CB.KMP%22%2C%20%22videotoplayer%22%29%3B%0Avar%20tmp%20%3D%20%27%27%2C%0Atmpp%20%3D%20%27%27%2C%0AinnerA%20%3D%20%27%3Cdiv%20style%3D%22display%3Ablock%21important%3Bcolor%3A%2300ff00%21important%3Bwidth%3A250px%21important%3Bfont%3Abold%2016px%20serif%21important%3Bz-index%3A999%21important%3Bopacity%3A1%21important%3Bvisibility%3A%20visible%21important%3B%27%2C%0AinnerB%20%3D%20%27left%3A5px%21important%3Bposition%3Aabsolute%21important%3Bheight%3Aauto%21important%3Bbox-sizing%3Aborder-box%21important%3Bpadding%3A5px%21important%3Bmargin%3A5px%21important%3B%27%2C%0AstopPl%20%3D%20%22javascript%3A%28function%28%29%7Bv%3Ddocument.getElementById%28%27movie_player%27%29%3Bif%28v%29%7Bv.stopVideo%28%29%7Delse%7Bv%3Ddocument.getElementsByTagName%28%27video%27%29%3Bif%28v%29%7Bv%5B0%5D.src%3D%27%27%3Btry%7Bv%5B0%5D.load%28%29%7Dcatch%28e%29%7B%7D%7D%3B%7D%7D%29%28%29%3B%22%2C%0AytIMGouter%20%3D%20function%28ytID%29%20%7Breturn%20%27%3Cdiv%20width%3D%22100%25%22%3E%3Cbr%20/%3E%3Ca%20target%3D%22_blank%22%20href%3D%22https%3A//www.youtube.com/watch%3Fv%3D%27%20+%20ytID%20+%20%27%22%3E%3Cimg%20src%3D%22https%3A//i.ytimg.com/vi/%27%20+%20ytID%20+%20%27/hqdefault.jpg%22%3E%3C/a%3E%3Cbr%20/%3E%27%20+%20innerA%20+%20%27background-color%3Ablack%21important%3Bposition%3Arelative%21important%3Bbottom%3A20px%21important%3B%22%3E%26nbsp%3B%26nbsp%3B%27%20+%20videoMoved%20+%20%27%3C/div%3E%3Cbr%20/%3E%3C/div%3E%3Cbr%20/%3E%27%7D%2C%0AhandlWin%20%3D%20function%28currentWin%29%20%7B%0Atmp%20%3D%20%27%27%3B%0Avar%20elem%20%3D%20currentWin.document.getElementsByTagName%28%27video%27%29%2C%20currLoc%20%3D%20currentWin.location%3B%0Aif%28elem.length%20%3E%200%29%20%7B%0Aif%28currLoc.hostname.indexOf%28%27youtu%27%29%20%21%3D%20-1%20%26%26%20%28tmp%20%3D%20currLoc.toString%28%29.match%28YoutubeID%29%29%20%26%26%20tmp%5B1%5D.length%20%3D%3D%2011%29%20%7B%0Aplay%28cbu.getPrefs%28%22CB.KMP%22%29%20%3D%3D%20%22videotoplaylist%22%20%3F%20%27https%3A//www.youtube.com/embed/%27%20+%20tmp%5B1%5D%20%3A%20%27https%3A//www.youtube.com/watch%3Fv%3D%27%20+%20tmp%5B1%5D%29%3B%0AvideoMovedbox%20%3D%20currentWin.document.createElement%28%27videoMoved%27%29%3B%0AvideoMovedbox.innerHTML%20%3D%20innerA%20+%20innerB%20+%20%27top%3A-15px%21important%3B%22%3E%3Cb%3E%27%20+%20videoMoved%20+%20%27%3C/b%3E%3C/div%3E%27%3B%0AloadURI%28stopPl%29%3B%0AcurrentWin.document.getElementById%28%27eow-title%27%29.appendChild%28videoMovedbox%29%3B%0Areturn%20true%3B%0A%7D%3B%0Afor%28i%20%3D%200%3B%20i%20%3C%20elem.length%3B%20i++%29%20%7B%0Aif%28%28%28tmp%20%3D%20getSrc%28elem%5Bi%5D.parentNode%2C%20currLoc%29%29%20%26%26%20tmp.length%20%3E%202%29%20%7C%7C%20%28i%20%3D%3D%200%20%26%26%20currentWin.document.body.innerHTML.substring%280%2C%207%29%20%3D%3D%20%27%3Cvideo%20%27%20%26%26%20%28tmp%20%3D%20currLoc.toString%28%29%29%29%29%20%7B%0AvideoMovedbox%20%3D%20currentWin.document.createElement%28%27videoMoved%27%29%3B%0AvideoMovedbox.innerHTML%20%3D%20innerA%20+%20innerB%20+%20%27top%3A20px%21important%3Bbackground-color%3Ablack%21important%3B%22%3E%27%20+%20videoMoved%20+%20%27%3C/div%3E%27%3B%0Aplay%28tmp%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0Aif%28currLoc.hostname%20%3D%3D%20%27www.youtube.com%27%29%20%7B%0Aelem%5Bi%5D.parentNode.parentNode.appendChild%28videoMovedbox%29%3B%0A%7D%20else%20%7B%0Aelem%5Bi%5D.parentNode.appendChild%28videoMovedbox%29%3B%0A%7D%3B%0Aelem%5Bi%5D.src%20%3D%20%27%27%3B%0Atry%20%7B%0Aelem%5Bi%5D.load%28%29%0A%7D%20catch%28e%29%20%7B%7D%3B%0Areturn%20true%3B%0A%7D%0A%7D%0A%7D%3B%0A%0AcurrentWin._elems%20%3D%20currentWin.document.getElementsByTagName%28%27iframe%27%29%3B%0Aif%28currentWin._elems.length%20%3E%200%29%20%7B%0Afor%28currentWin._iCounter%20%3D%200%3B%20currentWin._iCounter%20%3C%20currentWin._elems.length%3B%20currentWin._iCounter++%29%20%7B%0Aif%28%28currentWin._elems%5BcurrentWin._iCounter%5D.src.indexOf%28%27youtube.com%27%29%20%3E%20-1%29%20%26%26%20%28tmp%20%3D%20currentWin._elems%5BcurrentWin._iCounter%5D.src.match%28YoutubeID%29%29%20%26%26%20%28tmp%5B1%5D.length%20%3D%3D%2011%29%29%20%7B%0Aplay%28cbu.getPrefs%28%22CB.KMP%22%29%20%3D%3D%20%22videotoplaylist%22%20%3F%20%27https%3A//www.youtube.com/embed/%27%20+%20tmp%5B1%5D%20%3A%20%27https%3A//www.youtube.com/watch%3Fv%3D%27%20+%20tmp%5B1%5D%29%3B%0AcurrentWin._elems%5BcurrentWin._iCounter%5D.outerHTML%20%3D%20ytIMGouter%28tmp%5B1%5D%29%3B%0Areturn%20true%3B%0A%7D%3B%0Aif%28currentWin._elems%5BcurrentWin._iCounter%5D.clientWidth%20%3E%2080%20%26%26%20currentWin._elems%5BcurrentWin._iCounter%5D.clientHeight%20%3E%2040%20%26%26%20handlWin%28currentWin._elems%5BcurrentWin._iCounter%5D.contentWindow%29%29return%20true%3B%0A%7D%0A%7D%3B%0A%0Aelem%20%3D%20currentWin.document.getElementsByTagName%28%27object%27%29%3B%0AcurrLoc%20%3D%20currentWin.location%3B%0Aif%28elem.length%20%3D%3D%200%29%20%7B%0Aelem%20%3D%20currentWin.document.getElementsByTagName%28%27embed%27%29%0A%7D%3B%0Aif%28elem.length%20%3E%200%29%20%7B%0Afor%28i%20%3D%200%3B%20i%20%3C%20elem.length%3B%20i++%29%20%7B%0Aif%28elem%5Bi%5D.innerHTML.indexOf%28%27youtu%27%29%20%21%3D%20-1%20%26%26%20%28tmp%20%3D%20elem%5Bi%5D.innerHTML.match%28YoutubeID%29%29%20%26%26%20tmp%5B1%5D.length%20%3D%3D%2011%29%20%7B%0Aplay%28cbu.getPrefs%28%22CB.KMP%22%29%20%3D%3D%20%22videotoplaylist%22%20%3F%20%27https%3A//www.youtube.com/embed/%27%20+%20tmp%5B1%5D%20%3A%20%27https%3A//www.youtube.com/watch%3Fv%3D%27%20+%20tmp%5B1%5D%29%3B%0Aelem%5Bi%5D.outerHTML%20%3D%20ytIMGouter%28tmp%5B1%5D%29%3B%0Areturn%20true%3B%0A%7D%20else%20%7B%0Aif%28elem%5Bi%5D.clientWidth%20%3E%2080%20%26%26%20elem%5Bi%5D.clientHeight%20%3E%2040%29%20%7B%0Aif%28%28%28tmp%20%3D%20getSrc%28elem%5Bi%5D.parentNode%2C%20currLoc%29%29%20%7C%7C%20%28tmp%20%3D%20getLink%28elem%5Bi%5D%2C%20currLoc%29%29%29%20%26%26%20tmp.length%20%3E%202%29%20%7B%0Aplay%28tmp%29%3B%0Aelem%5Bi%5D.outerHTML%20%3D%20innerA%20+%20%27background-color%3Ablack%21important%3Bbottom%3A20px%21important%3B%22%3E%26nbsp%3B%26nbsp%3B%27%20+%20videoMoved%20+%20%27%3C/div%3E%27%3B%0Areturn%20true%3B%0A%7D%3B%0A%7D%3B%0A%7D%0A%7D%3B%0A%7D%3B%0Areturn%20false%3B%0A%7D%3B%0A%0Athis.onclick%20%3D%20this.oncontextmenu%20%3D%20e%20%3D%3E%20%7B%0Aif%20%28e.target%20%21%3D%20this%29%20return%3B%0Aif%28e.button%20%3D%3D%200%29%20%7B%0Aif%28cbu.getPrefs%28%22CB.KMP%22%29.substring%280%2C6%29%20%3D%3D%20%22videom%22%29%7B%0Aelem%20%3D%20content.document.getElementsByTagName%28%27object%27%29%3B%0Aif%28elem.length%20%3D%3D%200%29%20%7B%0Aelem%20%3D%20content.document.getElementsByTagName%28%27embed%27%29%0A%7D%3B%0A%0AresizeObjs%28elem%29%3B%0AresizeObjs%28content.document.getElementsByTagName%28%27iframe%27%29%29%3B%0AresizeObjs%28content.document.getElementsByTagName%28%27video%27%29%29%3B%0A%7D%20else%20%7B%0Aif%28%21handlWin%28content%29%29custombuttons.alertSlide1%28noFound%29%3B%0A%7D%0A%7D%3B%0Aif%20%28%20e.button%20%3D%3D%202%20%26%26%20%21e.ctrlKey%20%26%26%20%21e.shiftKey%20%26%26%20%21e.altKey%20%26%26%20%21e.metaKey%20%29%20%7B%20//%20%u041F%u041A%u041C%0Ae.preventDefault%28%29%3B%0Aif%20%28custombuttons.confirmBox%28null%2C%20%22%u0417%u0430%u043F%u0443%u0441%u0442%u0438%u0442%u044C%20%u043F%u043B%u0435%u0435%u0440%20%u0438%u0437%20%u0431%u0443%u0444%u0435%u0440%u0430%20%u043E%u0431%u043C%u0435%u043D%u0430%20%3F%22%2C%20%22%u0414%u0430%22%2C%20%22%u041D%u0435%u0442%22%29%20%29%20%7B%0Avar%20file%20%3D%20Cc%5B%27@mozilla.org/file/local%3B1%27%5D.createInstance%28Ci.nsIFile%29%3B%0Afile.initWithPath%28%27D%3A%5C%5CPotPlayer%5C%5CPotPlayerMini64.exe%27%29%3B%0Avar%20process%20%3D%20Cc%5B%22@mozilla.org/process/util%3B1%22%5D.createInstance%28Ci.nsIProcess%29%3B%0Avar%20link%20%3D%20gClipboard.read%28%29%3B%0Avar%20args%20%3D%20%5Blink%2C%22/play%22%5D%3B%0Aprocess.init%28%20file%20%29%3B%0Aprocess.run%28%20false%2C%20args%2C%20args.length%20%29%3B%0A%7D%0A%7D%3B%0A%7D%0Athis.oncontextmenu%20%3D%20e%20%3D%3E%20e.target%20%21%3D%20this%20%3F%20menu.hasAttribute%28%22context%22%29%0A%20%20%20%20%3A%20e.ctrlKey%20%7C%7C%20e.shiftKey%20%7C%7C%20e.altKey%20%7C%7C%20e.metaKey%20%7C%7C%20%28%0A%20%20%20%20%20%20%20%20e.detail%20%21%3D%201%20%3F%20menu.hidePopup%28%29%20%3A%20%21%21menu.openPopup%28this%2C%20%22after_start%22%29%0A%20%20%20%20%29%3B%0Acustombuttons.alertSlide1%20%3D%20function%28sTitle%29%20%7B%0Avar%20as%20%3D%20Components.classes%5B%22@mozilla.org/alerts-service%3B1%22%5D.getService%28Components.interfaces.nsIAlertsService%29%3B%0Aas.showAlertNotification%28%27chrome%3A//global/skin/icons/information-16.png%27%2C%20%22%22%2C%20sTitle%2C%20false%2C%20%22%22%2C%20null%29%3B%0AsetTimeout%28%28%29%20%3D%3E%20as.closeAlert%28%29%2C%20999%29%3B%0A%7D%3B%0Athis.tooltipText%3D%22%u041B%3A%20%u0412%u0438%u0434%u0435%u043E%20%u0432%20%u043F%u043B%u0435%u0435%u0440%5Cn%u041F%3A%20%u0412%u0438%u0434%u0435%u043E%20%u0438%u0437%20Clipboard%22%3B%0Afunction%20resizeObjs%28objs%29%20%7B%0Aif%28%21objs%29%20return%3B%0ALEVELS%20%3D%203%3B%0Adir%20%3D%20%28cbu.getPrefs%28%22CB.KMP%22%29%20%3D%3D%20%22videomaximize%22%29%20%3F%201%20%3A%20-1%3B%0Afor%28i%20%3D%200%3B%20i%20%3C%20objs.length%3B%20i++%29%20%7B%0Avar%20Width%20%3D%20new%20Array%28LEVELS%29%0Avar%20Height%20%3D%20new%20Array%28LEVELS%29%0AWidth%5B0%5D%20%3D%20objs%5Bi%5D.clientWidth%3B%0AHeight%5B0%5D%20%3D%20objs%5Bi%5D.clientHeight%3B%0Aif%28%28Width%5B0%5D%20%3E%20%28-20%20*%20dir%20+%20100%29%29%20%26%26%20%28Height%5B0%5D%20%3E%20%28-20%20*%20dir%20+%2060%29%29%29%20%7B%0Aobj%20%3D%20objs%5Bi%5D%3B%0Afor%28var%20k%20%3D%201%3B%0A%28%28k%20%3C%20LEVELS%29%20%26%26%20%28obj.parentNode%29%29%3B%20k++%29%20%7B%0Aobj%20%3D%20obj.parentNode%0AWidth%5Bk%5D%20%3D%20obj.clientWidth%3B%0AHeight%5Bk%5D%20%3D%20obj.clientHeight%3B%0A%7D%3B%0AWidth%5B0%5D%20%3D%20Width%5B0%5D%20+%20dir%20*%20%28Width%5B0%5D%20/%205%20%7C%200%29%3B%0AHeight%5B0%5D%20%3D%20Height%5B0%5D%20+%20dir%20*%20%28Height%5B0%5D%20/%205%20%7C%200%29%3B%0Aobjs%5Bi%5D.style.width%20%3D%20Width%5B0%5D%20+%20%22px%22%3B%0Aobjs%5Bi%5D.width%20%3D%20Width%5B0%5D%3B%0Aobjs%5Bi%5D.style.height%20%3D%20Height%5B0%5D%20+%20%22px%22%3B%0Aobjs%5Bi%5D.height%20%3D%20Height%5B0%5D%3B%0Aobj%20%3D%20objs%5Bi%5D%3B%0Afor%28var%20k%20%3D%201%3B%0A%28%28k%20%3C%20LEVELS%29%20%26%26%20%21%28objs%5Bi%5D.tagName%20%3D%3D%20%27IFRAME%27%29%20%26%26%20%28obj.parentNode%29%20%26%26%20%28Width%5Bk%5D%29%20%26%26%20%28Height%5Bk%5D%29%20%26%26%20%28Width%5Bk%5D%20%3E%20%28-20%20*%20dir%20+%20100%29%29%20%26%26%20%28Height%5Bk%5D%20%3E%20%28-20%20*%20dir%20+%2060%29%29%29%3B%20k++%29%20%7B%0Aobj%20%3D%20obj.parentNode%0AWidth%5Bk%5D%20%3D%20Width%5Bk%5D%20+%20dir%20*%20%28Width%5Bk%5D%20/%205%20%7C%200%29%3B%0AHeight%5Bk%5D%20%3D%20Height%5Bk%5D%20+%20dir%20*%20%28Height%5Bk%5D%20/%205%20%7C%200%29%3B%0Aobj.style.width%20%3D%20Width%5Bk%5D%20+%20%22px%22%3B%0Aobj.width%20%3D%20Width%5Bk%5D%3B%0Aobj.style.height%20%3D%20Height%5Bk%5D%20+%20%22px%22%3B%0Aobj.height%20%3D%20Height%5Bk%5D%3B%0A%7D%0A%7D%0A%7D%3B%0A%7D%3B%0A%0Afunction%20restProtHost%28lnkR%2C%20curLoc%29%20%7B%0Aif%28lnkR.length%3D%3D0%29return%20%27%27%3B%0Alet%20tr%20%3D%20lnkR.replace%28/%5E%3A%5C/%5C//%2C%20curLoc.protocol%20+%20%22//%22%29%3B%0Aif%28%21tr.match%28/%5Ehttps%3F%3A%5C/%5C//i%29%29%7B%0AlnkR%20%3D%20tr.replace%28/%5E%5C/+/%2C%20%27%27%29%3B%0Aif%28lnkR.split%28%27/%27%29%5B0%5D.split%28%27%3F%27%29%5B0%5D.split%28%27%23%27%29%5B0%5D.toLowerCase%28%29.match%28/%5E%28%3F%3A%5B-a-z%5Cd%5D+%5C.%29+%5Ba-z%5Cd%5D%7B2%2C6%7D%24/%29%29%7B%0Atr%20%3D%20curLoc.protocol%20+%20%27//%27%20+%20lnkR%3B%0A%7Delse%7B%0Atr%20%3D%20curLoc.protocol%20+%20%27//%27%20+%20curLoc.host%20+%20%22/%22%20+%20lnkR%3B%0A%7D%0A%7D%3B%0Areturn%20tr%3B%0A%7D%3B%0A%0Afunction%20getSrc%28vobj%2C%20currentLoc%29%20%7B%0Avar%20t%20%3D%20%27%27%2C%0Att%20%3D%20%27%27%3B%0Aif%28%28%28%28t%20%3D%20vobj.innerHTML.match%28/%3Cvideo.*%3F%5Cssrc%3D%28%3F%3A%28%3F%3A%27%28%5B%5E%27%5D*%29%27%29%7C%28%3F%3A%22%28%5B%5E%22%5D*%29%22%29%7C%28%5B%5E%5Cs%5D*%29%29/i%29%29%20%26%26%20%28t%29%20%26%26%20%28tt%20%3D%20t%5B1%5D%20%7C%7C%20t%5B2%5D%20%7C%7C%20t%5B3%5D%29%20%26%26%20tt.indexOf%28%27blob%3A%27%29%20%3D%3D%20-1%20%29%20%7C%7C%20%28%28t%20%3D%20vobj.innerHTML.match%28/%3Csource.*%3F%5Cssrc%3D%28%3F%3A%28%3F%3A%27%28%5B%5E%27%5D*%29%27%29%7C%28%3F%3A%22%28%5B%5E%22%5D*%29%22%29%7C%28%5B%5E%5Cs%5D*%29%29.*%3F%5Cstype%3D%5B%27%22%5D%3Fvideo%5C//i%29%29%20%26%26%20%28t%29%20%26%26%20%28tt%20%3D%20t%5B1%5D%20%7C%7C%20t%5B2%5D%20%7C%7C%20t%5B3%5D%29%29%29%20%26%26%20tt.length%20%3E%202%20%26%26%20tt.indexOf%28%27blob%3A%27%29%20%3D%3D%20-1%20%29%20%7B%0Aif%28tt.indexOf%28%22.mp4/%3F%22%29%20%3D%3D%20-1%29%20%7B%0Att%20%3D%20tt.replace%28/%26amp%3B/g%2C%20%22%26%22%29%0A%7D%3B%0At%20%3D%20restProtHost%28tt%2C%20currentLoc%29%3B%0Areturn%20t%3B%0A%7D%3B%0Areturn%20%27%27%3B%0A%7D%3B%0A%0Afunction%20getLink%28obj%2C%20curLocation%29%20%7B%0A%0A%0Aif%28%21obj%20%7C%7C%20%21obj.tagName%29%20return%20%27%27%3B%0Avar%20flashvars%20%3D%20%27%27%2C%0A//%20%20%20%20%20%20%20%20src%20%3D%20%27%27%2C%0Aq%20%3D%20obj.tagName.toLowerCase%28%29%3B%0A%0Avar%20getParam%20%3D%20function%28e%2C%20n%29%20%7B%0Avar%20v%20%3D%20%27%27%2C%0Ar%20%3D%20new%20RegExp%28%27%5E%28%27%20+%20n%20+%20%27%29%24%27%2C%20%27i%27%29%2C%0Aparam%20%3D%20e.getElementsByTagName%28%27param%27%29%3B%0Afor%28var%20igp%20%3D%200%2C%20p%3B%20p%20%3D%20param%5Bigp%5D%3B%20igp++%29%20%7B%0Aif%28p.hasAttribute%28%27name%27%29%20%26%26%20p.getAttribute%28%27name%27%29.match%28r%29%29%20%7B%0Av%20%3D%20p.getAttribute%28%27value%27%29%3B%0Abreak%0A%7D%3B%0A%7D%3B%0Areturn%20v%3B%0A%7D%3B%0A%0A%0Aif%28q%20%3D%3D%20%27object%27%29%20%7B%0A//%20%20%20%20%20%20%20%20src%20%3D%20obj.getAttribute%28%27data%27%29%20%7C%7C%20obj.getAttribute%28%27src%27%29%20%7C%7C%20getParam%28obj%2C%20%27movie%7Cdata%7Csrc%7Ccode%7Cfilename%7Curl%27%29%20%7C%7C%20%28obj.getElementsByTagName%28%27embed%27%29.length%20%3E%200%20%3F%20obj.getElementsByTagName%28%27embed%27%29%5B0%5D.getAttribute%28%27src%27%29%20%3A%20%27%27%29%3B%0Aflashvars%20%3D%20getParam%28obj%2C%20%27flashvars%27%29%3B%0A%7D%20else%20if%28q%20%3D%3D%20%27embed%27%29%20%7B%0A//%20%20%20%20%20%20%20%20src%20%3D%20obj.getAttribute%28%27src%27%29%3B%0Aflashvars%20%3D%20obj.getAttribute%28%27flashvars%27%29%3B%0A%7D%20else%20return%20%27%27%3B%0A%0A%0Aif%28%21flashvars%29%20return%20%27%27%3B%0A//%20%20%20src%20%3D%20restProtHost%28src%2C%20curLocation%29%3B%0A%0Avar%20restPath%20%3D%20function%28f%2C%20s%29%20%7B%0Areturn%28f.substring%280%2C%204%29%20%3D%3D%20%27http%27%29%20%3F%20f%20%3A%20s.replace%28/%5B%23%3F%5D.*%24/%2C%20%27%27%29.replace%28/%5B%5E%5C/%5D*%24/%2C%20f%29%0A%7D%3B%0A%0Afunction%20videoLinkExtract%28fl%29%20%7B%0A//alert%28fl%29%3B%0Avar%20linkArr%20%3D%20%5B%5D%2C%0AoutLinks%20%3D%20%5B%5D%2C%0Ajj%20%3D%200%2C%0Alba%20%3D%20%27%27%2C%0Albb%20%3D%20%27%27%2C%0AdecodeURL%20%3D%20gBrowser.currentURI.spec%3B%20%7B%0Atry%20%7B%0Areturn%20decodeURIComponent%28s%29%0A%7D%20catch%28e%29%20%7B%0Areturn%20unescape%28s%29%0A%7D%0A%7D%3B%0A%0Afor%28var%20ij%20%3D%200%3B%20ij%20%3C%203%3B%20ij++%29%20%7B%0Alba%20%3D%20lba%20+%20String.fromCharCode%28parseInt%28%28Math.random%28%29%20*%2015%20+%201%29%20+%20%27%27%2C%2010%29%29%3B%0Albb%20%3D%20lbb%20+%20String.fromCharCode%28parseInt%28%28Math.random%28%29%20*%2015%20+%2016%29%20+%20%27%27%2C%2010%29%29%3B%0A%7D%3B%0A%0Afunction%20pushWithMerit%28lnk%29%20%7B%0A%0Avar%20merit%20%3D%20-11%3B%0Aif%28lnk.match%28/%5Ehttps%3F%3A%5C/%5C//i%29%29%20merit%20%3D%20merit%20+%2040%3B%0Aif%28outLinks.length%20%3D%3D%200%29%20merit%20%3D%20merit%20+%201%3B%0Aif%28lnk.match%28/%5E%5C//%29%29%20merit%20%3D%20merit%20+%207%3B%0Aif%28lnk.match%28/%5E%5C/%5C//%29%29%20merit%20%3D%20merit%20+%2030%3B%0Aif%28lnk.match%28/240p%28%5B%5Ea-z%5D%7C%24%29/i%29%29%20merit%20%3D%20merit%20+%201%3B%0Aif%28lnk.match%28/%5B%5Ea-z%5D240%28%5B%5Ea-z0-9%5D%7C%24%29/i%29%29%20merit%20%3D%20merit%20+%201%3B%0Aif%28lnk.match%28/360p%28%5B%5Ea-z%5D%7C%24%29/i%29%29%20merit%20%3D%20merit%20+%203%3B%0Aif%28lnk.match%28/%5B%5Ea-z%5D360%28%5B%5Ea-z0-9%5D%7C%24%29/i%29%29%20merit%20%3D%20merit%20+%203%3B%0Aif%28lnk.match%28/480p%28%5B%5Ea-z%5D%7C%24%29/i%29%29%20merit%20%3D%20merit%20+%205%3B%0Aif%28lnk.match%28/%5B%5Ea-z%5D480%28%5B%5Ea-z0-9%5D%7C%24%29/i%29%29%20merit%20%3D%20merit%20+%205%3B%0Aif%28lnk.match%28/720p%28%5B%5Ea-z%5D%7C%24%29/i%29%29%20merit%20%3D%20merit%20+%207%3B%0Aif%28lnk.match%28/%5B%5Ea-z%5D720%28%5B%5Ea-z0-9%5D%7C%24%29/i%29%29%20merit%20%3D%20merit%20+%207%3B%0Aif%28lnk.match%28/%5C.mp4%28%5B%5Ea-z%5D%7C%24%29/i%29%29%20merit%20%3D%20merit%20+%208%3B%0Aif%28lnk.match%28/_hd%28%5B%5Ea-z%5D%7C%24%29/i%29%29%20merit%20%3D%20merit%20+%206%3B%0Aif%28lnk.match%28/%5C.%28jpg%7Cxml%29%28%5B%5Ea-z%5D%7C%24%29/i%29%29%20merit%20%3D%20merit%20-%2040%3B%0Aif%28merit%20%3E%200%29%20outLinks.push%28merit%20+%20lba%20+%20lnk%29%3B%0AServices.console.logStringMessage%28%27merit%3A%27+merit+%27%20lnk-%3E%27+lnk%29%3B%0A%7D%3B%0A%0AlinkArr.push%28fl%29%3B%0Awhile%28linkArr.length%20%3E%20jj%20%26%26%20jj%20%3C%2030%29%20%7B%0A%0Avar%20testPaths%20%3D%20%5B%5D%3B%0AtestPaths%20%3D%20linkArr%5Bjj%5D.split%28/%28%5C.%28%3F%3Aflv%7Cmp4%7Cm3u8%29%29/i%29%3B%0Aif%28testPaths%5BtestPaths.length%20-%201%5D%20%3D%3D%20%27%27%29%20testPaths.pop%28%29%3B%0A%0Afor%28k%20%3D%201%3B%20k%20%3C%20testPaths.length%3B%20k%20%3D%20k%20+%202%29%20%7B%0A%0Aif%28testPaths%5Bk%20-%201%5D.indexOf%28lba%29%20%3E%20-1%29%20%7B%0Apref%20%3D%20testPaths%5Bk%20-%201%5D%3B%0A%7D%20else%20%7B%0Avar%20testAboutDom%20%3D%20testPaths%5Bk%20-%201%5D.toLowerCase%28%29.split%28/%28https%3F%3A%5C/%5C/%29/%29%3B%20%0Aif%28testAboutDom%5BtestAboutDom.length%20-%201%5D%3D%3D%27%27%29%20testAboutDom.pop%28%29%3B%0Avar%20pTest%20%3D%20testAboutDom%5BtestAboutDom.length%20-%201%5D.split%28/%28%5C%3F%5B%5E%5C%3F%5D*%3F%26%29/%29%3B%0Aif%28pTest.length%3E2%29%7B%0ApTest.pop%28%29%3B%0ApTest.pop%28%29%3B%0A%7D%3B%0AtestAboutDom%5BtestAboutDom.length%20-%201%5D%20%3D%20pTest.join%28%27%27%29%3B%0Apref%20%3D%20testPaths%5Bk%20-%201%5D.substring%28testAboutDom.join%28%27%27%29.lastIndexOf%28%22%26%22%29%20+%201%29%3B%0A%7D%3B%0A%0At2%20%3D%20pref.lastIndexOf%28lbb%29%3B%0Aif%28t2%20%3E%20-1%29%20%7B%0Apref%20%3D%20pref.substring%28t2%20+%203%29%3B%0A%7D%20else%20%7B%0A%0At2%20%3D%20pref.lastIndexOf%28%27%7B%22%27%29%3B%0Aif%28t2%20%3E%20-1%29%20pref%20%3D%20pref.substring%28t2%20+%202%29%3B%0At2%20%3D%20pref.lastIndexOf%28%27%5B%22%27%29%3B%0Aif%28t2%20%3E%20-1%29%20pref%20%3D%20pref.substring%28t2%20+%202%29%3B%0At2%20%3D%20pref.lastIndexOf%28%27%2C%22%27%29%3B%0Aif%28t2%20%3E%20-1%29%20pref%20%3D%20pref.substring%28t2%20+%202%29%3B%0At2%20%3D%20pref.toLowerCase%28%29.lastIndexOf%28%27%22http%3A//%27%29%3B%0Aif%28t2%20%3E%20-1%29%20pref%20%3D%20pref.substring%28t2%20+%201%29%3B%0At2%20%3D%20pref.toLowerCase%28%29.lastIndexOf%28%27%22https%3A//%27%29%3B%0Aif%28t2%20%3E%20-1%29%20pref%20%3D%20pref.substring%28t2%20+%201%29%3B%0At2%20%3D%20pref.toLowerCase%28%29.lastIndexOf%28%27%2Chttp%3A//%27%29%3B%0Aif%28t2%20%3E%20-1%29%20pref%20%3D%20pref.substring%28t2%20+%201%29%3B%0At2%20%3D%20pref.toLowerCase%28%29.lastIndexOf%28%27%2Chttps%3A//%27%29%3B%0Aif%28t2%20%3E%20-1%29%20pref%20%3D%20pref.substring%28t2%20+%201%29%3B%0At2%20%3D%20pref.toLowerCase%28%29.lastIndexOf%28%27%3Bhttp%27%29%3B%0Aif%28t2%20%3E%20-1%29%20pref%20%3D%20pref.substring%28t2%20+%201%29%3B%0At2%20%3D%20pref.toLowerCase%28%29.lastIndexOf%28%27*https%3A//%27%29%3B%0Aif%28t2%20%3E%20-1%29%20pref%20%3D%20pref.substring%28t2%20+%201%29%3B%0At2%20%3D%20pref.toLowerCase%28%29.lastIndexOf%28%27%20or%20%27%29%3B%0Aif%28t2%20%3E%20-1%29%20pref%20%3D%20pref.substring%28t2%20+%204%29%3B%0A%0Apref%20%3D%20pref.substring%28pref.split%28%27/%27%29%5B0%5D.toLowerCase%28%29.split%28%27%252f%27%29%5B0%5D.lastIndexOf%28%27%3D%27%29%20+%201%29%3B%0A%0A%7D%0A%0Aif%28pref.length%20%3E%200%29%20%7B%0A%0Aif%28pref.split%28%27%3F%27%29%5B0%5D.toLowerCase%28%29.match%28/%25%5B2-3%5D%5B0-9a-f%5D/%29%29%20%7B%0A%0At2%20%3D%20pref.indexOf%28%27%22%27%29%0Aif%28t2%20%3E%20-1%29%20pref%20%3D%20pref.substring%28t2%20+%201%29%3B%0Asuff%20%3D%20testPaths%5Bk%20+%201%5D%20%3F%20testPaths%5Bk%20+%201%5D.split%28%27%26%27%29%5B0%5D.split%28%27%22%27%29%5B0%5D.split%28%27%3B%27%29%5B0%5D.split%28/%2Chttp/i%29%5B0%5D%20%3A%20%27%27%3B%0Aif%28%28suff%20%21%3D%20testPaths%5Bk%20+%201%5D%29%20%7C%7C%20%28testPaths.length%20%3C%20k%20+%203%29%29%20%7B%0Aif%28testPaths.length%20%3E%20k%20+%201%29%20%7B%0AtestPaths%5Bk%20+%201%5D%20%3D%20%28%28pref%20%3D%3D%20testPaths%5Bk%20-%201%5D%29%20%3F%20%27%27%20%3A%20%27%26%27%29%20+%20testPaths%5Bk%20+%201%5D.substr%28suff.length%29%0A%7D%3B%0At2%20%3D%20pref.lastIndexOf%28lba%29%3B%0Aif%28t2%20%3E%20-1%29%20pref%20%3D%20pref.substring%28t2%20+%203%29%0AlinkArr.push%28decodeURL%28pref%20+%20testPaths%5Bk%5D%20+%20suff%29%29%3B%0A%0A%7D%20else%20%7B%0AtestPaths%5Bk%20+%201%5D%20%3D%20%28pref%20%3D%3D%20testPaths%5Bk%20-%201%5D%20%3F%20%27%27%20%3A%20lbb%29%20+%20pref%20+%20testPaths%5Bk%5D%20+%20suff%0A%7D%0A%7D%20else%20%7B%0Asuff%20%3D%20testPaths%5Bk%20+%201%5D%20%3F%20testPaths%5Bk%20+%201%5D.split%28%27%3B%27%29%5B0%5D.split%28%27%22%5D%27%29%5B0%5D.split%28%27%22%7D%27%29%5B0%5D.split%28%27%22%2C%27%29%5B0%5D.split%28/%2Chttps%3F%3A%5C/%5C//i%29%5B0%5D.split%28%27*https%3A//%27%29%5B0%5D.split%28%27%20or%20%27%29%5B0%5D%20%3A%20%27%27%3B%0At2%20%3D%20suff.indexOf%28%27%26%27%29%3B%0Aif%28%28t2%20%3E%20-1%29%20%26%26%20%28pref%20%21%3D%20testPaths%5Bk%20-%201%5D%29%29%20%7B%0Aif%28t2%20%3D%3D%200%29%20suff%20%3D%20%27%27%3B%0Aif%28suff.charAt%280%29%20%21%3D%20%27%3F%27%29%20suff%20%3D%20suff.split%28/%28%26%5B%5E%26%5D+%3Dhttps%3F%3A%5C/%5C/%29/i%29%5B0%5D%3B%0A%7D%3B%0Aif%28%28suff%20%21%3D%20testPaths%5Bk%20+%201%5D%29%20%7C%7C%20%28testPaths.length%20%3C%20k%20+%203%29%29%20%7B%0Aif%28testPaths.length%20%3E%20k%20+%201%29%20%7B%0AtestPaths%5Bk%20+%201%5D%20%3D%20%28%28pref%20%3D%3D%20testPaths%5Bk%20-%201%5D%29%20%3F%20%27%27%20%3A%20%27%26%27%29%20+%20testPaths%5Bk%20+%201%5D.substr%28suff.length%29%0A%7D%3B%0At2%20%3D%20pref.lastIndexOf%28lba%29%3B%0Aif%28t2%20%3E%20-1%29%20pref%20%3D%20pref.substring%28t2%20+%203%29%3B%0ApushWithMerit%28pref%20+%20testPaths%5Bk%5D%20+%20suff%29%3B%0A%0A%7D%20else%20%7B%0AtestPaths%5Bk%20+%201%5D%20%3D%20lba%20+%20%28pref%20%3D%3D%20testPaths%5Bk%20-%201%5D%20%3F%20%27%27%20%3A%20lbb%29%20+%20pref%20+%20testPaths%5Bk%5D%20+%20suff%0A%7D%0A%7D%0A%7D%0A%7D%3B%0Ajj%20%3D%20jj%20+%201%3B%0A%7D%3B%0A%0Aif%28outLinks.length%20%3D%3D%200%29%20return%20%27%27%3B%0Afunction%20srt%28a%2C%20b%29%20%7B%0Aa%20%3D%20parseInt%28a.substr%280%2C%20a.indexOf%28lba%29%29%2C%2010%29%3B%0Ab%20%3D%20parseInt%28b.substr%280%2C%20b.indexOf%28lba%29%29%2C%2010%29%3B%0Aif%28a%20%3C%20b%29%20return%201%3B%0Aif%28a%20%3E%20b%29%20return%20-1%3B%0Areturn%200%0A%7D%3B%0AoutLinks.sort%28srt%29%3B%0AoutLinks%5B0%5D%20%3D%20outLinks%5B0%5D.substr%28outLinks%5B0%5D.indexOf%28lba%29%20+%203%29%0Aif%28outLinks%5B0%5D.indexOf%28%27_hq.mp4/%3Ftime%3D%27%29%20%3E%200%29%20outLinks%5B0%5D%20%3D%20outLinks%5B0%5D.replace%28/%26/g%2C%20%27%26amp%3B%27%29%3B%0Areturn%20outLinks%5B0%5D%3B%0A%7D%3B%0Aol%20%3D%20videoLinkExtract%28flashvars%29%3B%0Aif%28%21ol%29%20return%20%27%27%3B%0A//%20%20%20%20ol%20%3D%20ol.replace%28/%5E%3A%3F%5C/%5C//%2C%20curLocation.protocol%20+%20%22//%22%29%3B%0A//%20%20%20%20return%20restPath%28ol%2C%20src%29%3B%0Areturn%20restProtHost%28ol%2C%20curLocation%29%3B%0A%7D%3B%0A%0Avar%20menu%20%3D%20self.appendChild%28document.createXULElement%28%22menupopup%22%29%29%3B%0Aself.image%20%3D%20%22moz-icon%3A//file%3A//%22%20+%20path%3B%0Avar%20playerName%20%3D%20path.split%28%22%5C%5C%22%29.pop%28%29.replace%28%22.exe%22%2C%22%22%29%3B%0AsetTimeout%28%28%29%20%3D%3E%20%7B%0AMenu_n_TooltipTxts.forEach%28%28m%29%20%3D%3E%20%7B%0Aif%28%22separator%22%20in%20m%29%20%7B%0Amenu.appendChild%28document.createXULElement%28%22menuseparator%22%29%29%3B%0Areturn%0A%7D%3B%0Avar%20mItem%20%3D%20document.createXULElement%28%22menuitem%22%29%3B%0AmItem.setAttribute%28%22label%22%2C%20m.label%29%3B%0A%0Aif%28%22radio%22%20in%20m%29%20%7B%0AmItem.setAttribute%28%22type%22%2C%20%22radio%22%29%3B%0AmItem.setAttribute%28%27checked%27%2C%20cbu.getPrefs%28%22CB.KMP%22%29%20%3D%3D%20m.value%29%3B%0Aif%28cbu.getPrefs%28%22CB.KMP%22%29%20%3D%3D%20m.value%29%20%7B%0Aself.tooltipText%20%3D%20m.tooltipTxt%3B%0A%7D%0AmItem.onclick%20%3D%20%28%29%20%3D%3E%20%7B%0Acbu.setPrefs%28%22CB.KMP%22%2C%20m.value%29%3B%0Atmp%20%3D%20%28self.image%20%3D%3D%20imgFlashToPlayer%20%7C%7C%20self.image%20%3D%3D%20imgFlashMinimize%20%7C%7C%20%20self.image%20%3D%3D%20imgFlashMaximize%29%3B%0Aif%28m.value.substring%280%2C9%29%3D%3D%27videotopl%27%29%7B%0Aself.image%20%3D%20tmp%20%3F%20imgFlashToPlayer%20%3A%20imgHTML5ToPlayer%3B%0A%7D%20else%20if%28m.value%3D%3D%27videominimize%27%29%20%7B%0Aself.image%20%3D%20tmp%20%3F%20imgFlashMinimize%20%3A%20imgHTML5Minimize%3B%0A%7D%20else%20self.image%20%3D%20tmp%20%3F%20imgFlashMaximize%20%3A%20imgHTML5Maximize%3B%0Aself.tooltipText%20%3D%20m.tooltipTxt%3B%0A%7D%3B%0A%7D%0Aif%28%22checkbox%22%20in%20m%29%20%7B%0AmItem.setAttribute%28%27type%27%2C%20%27checkbox%27%29%3B%0AmItem.setAttribute%28%27checked%27%2C%20%28self.image%20%3D%3D%20imgFlashToPlayer%20%7C%7C%20self.image%20%3D%3D%20imgFlashMinimize%20%7C%7C%20%20self.image%20%3D%3D%20imgFlashMaximize%20%29%29%3B%0AmItem.onclick%20%3D%20function%28e%29%20%7B%0Ae.stopPropagation%28%29%3B%0Ae.preventDefault%28%29%3B%0Aif%28e.button%20%3D%3D%200%29%20toggleFlash%28%29%3B%0A%7D%0A%7D%0Amenu.appendChild%28mItem%29%3B%0A%7D%29%3B%0Amenu.onclick%20%3D%20function%28e%29%20%7B%0Ae.stopPropagation%28%29%3B%0Aif%28e.button%20%3E%200%29%20e.preventDefault%28%29%3B%0A%7D%3B%0A%7D%2C%20100%29%3B%0A%0Avar%20contextMenu%20%3D%20document.getElementById%28%22contentAreaContextMenu%22%29%3B%0Avar%20menuitem%20%3D%20contextMenu.insertBefore%28document.createXULElement%28%22menuitem%22%29%2C%20document.getElementById%28%22context-savelink%22%29%29%3B%0Amenuitem.setAttribute%28%22label%22%2C%20%22%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0432%20%22%20+sysPlayerName%29%3B%20%20%20%20%20%20%0Amenuitem.setAttribute%28%22class%22%2C%20%22menuitem-iconic%22%29%3B%0Amenuitem.setAttribute%28%22image%22%2C%20%22moz-icon%3A//file%3A//%22%20+%20path%29%3B%20%0Amenuitem.onclick%20%3D%20%28%29%20%3D%3E%20play%28gContextMenu.linkURL%20%7C%7C%20gContextMenu.mediaURL%29%3B%0AaddEventListener%28%22popupshowing%22%2C%20%28%29%3D%3E%20menuitem.hidden%20%3D%20%21gContextMenu.onLink%20%26%26%20%21gContextMenu.onVideo%20%26%26%20%21gContextMenu.onPlainTextLink%2C%20false%2C%20contextMenu%29%3B%0AaddDestructor%28%28%29%3D%3E%20menuitem.remove%28%29%20%29%3B%0A%0Aonclick%20%3D%20%28%29%20%3D%3E%20%7B%0Ae.preventDefault%28%29%3B%0Avar%20vurl%20%3D%20gContextMenu.mediaURL%2C%20videoelem%20%3D%20gContextMenu.target%3B%0Aif%28videoelem%20%26%26%20videoelem.nodeName.toLowerCase%28%29%20%3D%3D%20%27video%27%29%20%7B%0Aif%28content.location.hostname.indexOf%28%27youtu%27%29%20%21%3D%20-1%20%26%26%20%28tmp%20%3D%20content.location.toString%28%29.match%28YoutubeID%29%29%20%26%26%20tmp%5B1%5D.length%20%3D%3D%2011%29%20%7B%0Aplay%28vurl%29%3B%0AvideoMovedbox%20%3D%20content.document.createElement%28%27videoMoved%27%29%3B%0AvideoMovedbox.innerHTML%20%3D%20innerA%20+%20innerB%20+%20%27top%3A-15px%21important%3B%22%3E%3Cb%3E%27%20+%20videoMoved%20+%20%27%3C/b%3E%3C/div%3E%27%3B%0AloadURI%28stopPl%29%3B%0Acontent.document.getElementById%28%27eow-title%27%29.appendChild%28videoMovedbox%29%3B%0Areturn%3B%0A%7D%3B%0A%0Aif%28content.location.hostname%20%3D%3D%20%27www.youtube.com%27%29%20%7B%0Avideoelem.parentNode.parentNode.appendChild%28videoMovedbox%29%3B%0A%7D%20else%20%7B%0Avar%20inFrameHref%20%3D%20inFrameWin.location.href%2C%20found%20%3D%20false%3B%0Aif%28inFrameWin.location.hostname%20%3D%3D%20%27www.youtube.com%27%20%26%26%20%28tmp%20%3D%20inFrameHref.match%28YoutubeID%29%29%20%26%26%20tmp%5B1%5D.length%20%3D%3D%2011%29%7B//%u0438%20%u0437%u043D%u0430%u0447%u0438%u0442%20%u0432%u043E%20%u0444%u0440%u0435%u0439%u043C%u0435%0Aelem%20%3D%20inFrameWin.parent.document.getElementsByTagName%28%27iframe%27%29%3B%0Aif%28elem.length%20%3E%200%29%20%7B%0Afor%28i%20%3D%200%3B%20i%20%3C%20elem.length%3B%20i++%29%20%7B%0Aif%28elem%5Bi%5D.contentWindow%20%3D%3D%20inFrameWin%29%20%7B%0Aelem%5Bi%5D.outerHTML%20%3D%20ytIMGouter%28tmp%5B1%5D%29%3B%0Afound%20%3D%20true%3B%0Abreak%3B%0A%7D%3B%0A%7D%3B%0A%7D%3B%0Aif%28%21found%29inFrameWin.document.body.innerHTML%20%3D%20ytIMGouter%28tmp%5B1%5D%29%3B%0Areturn%3B%0A%7D%3B%0Avideoelem.parentNode.appendChild%28videoMovedbox%29%3B%0A%7D%3B%0Avideoelem.src%20%3D%20%27%27%3B%0Atry%20%7B%0Avideoelem.load%28%29%0A%7D%20catch%28e%29%20%7B%7D%3B%0A%7D%20else%20play%28vurl%29%3B%0A%7D%3B%0A%0A%0AaddEventListener%28%22popupshowing%22%2C%20%28%29%20%3D%3E%20%7B%0AmItem.hidden%20%3D%20%21gContextMenu.onVideo%20%7C%7C%20%21gContextMenu.mediaURL%3B%0AmItem2.hidden%20%3D%20%21gContextMenu.linkURL%3B%0AmItem3.hidden%20%3D%20framItem.hidden%20%7C%7C%20gContextMenu.target.ownerDocument.location.hostname.indexOf%28%27youtube.com%27%29%20%3D%3D%20-1%3B%0A%7D%2C%20false%2C%20contextMenu%29%3B%0AaddDestructor%28%28%29%20%3D%3E%20%7BmItem.remove%28%29%3BmItem2.remove%28%29%3BmItem3.remove%28%29%7D%29%3B%0A%0A%0Afunction%20play%28link%29%20%7B%0Aif%20%28custombuttons.confirmBox%28null%2C%20%22%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%20%u0441%u0441%u044B%u043B%u043A%u0443%20%20%u0432%20%u043F%u043B%u0435%u0435%u0440%u0435%20%3F%22%2C%20%22%u0414%u0430%22%2C%20%22%u041E%u0442%u043C%u0435%u043D%u0430%22%29%20%29%20%7B%0Avar%20file%20%3D%20Services.dirsvc.get%28%27CurProcD%27%2C%20Ci.nsIFile%29%3B%0Avar%20MozExeDir%20%3D%20file.path.split%28%27%5C%5C%27%29.slice%280%2C-1%29.join%28%27%5C%5C%27%29%3B%0Afile.initWithPath%28path%29%3B%0Aif%28%21file.exists%28%29%29%20%7B%0Acustombuttons.alertBox%28%22File%20not%20found%21%22%2C%20MozExeDir%20+%20Path%29%3B%0Areturn%3B%0A%7D%3B%0Avar%20process%20%3D%20Cc%5B%22@mozilla.org/process/util%3B1%22%5D.createInstance%28Ci.nsIProcess%29%3B%0Avar%20args%20%3D%20%5Blink%5D%3B%0Aprocess.init%28%20file%20%29%3B%0Aprocess.run%28%20false%2C%20args%2C%20args.length%20%29%3B%0A%7D%3B%0A%0A%7D%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%0A%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Отредактировано solombala (05-03-2021 13:32:50)
Отсутствует
solombala
Вот так показывает кнопка Dumby после старта FF
А вот так твоя
По моему, ты один остался в новых версиях без мультирежима. Чем ты это мотивируешь, если не секрет.
Отсутствует
rubel
Спроси у Dumby ...Какую память кнопка показывает. Какой вкладки? если на каждую своя...Или она все процессы показывает, т. е. сумму?
Или ты скажи, в чем фишка мультирежима? Только в жоре памяти...
Отсутствует
solombala
Какую память кнопка показывает. Какой вкладки? если на каждую своя...Или она все процессы показывает, т. е. сумму?
Dumby
Могу нечто простенькое предложить.
Ни приблуд, ни прибамбасов, вообще ничего.
Суммарный жор памяти, так, как показывает его страница about:processes
Вот ответ на твой вопрос.
solombala
Или ты скажи, в чем фишка мультирежима? Только в жоре памяти...
Раз сделали этот режим, значит не просто так. А памяти у меня 16 гб так что не жалко ради стабильности.
Отсутствует
Dumby
Здесь можно рихтануть, чтобы и при мультирежиме правильно показывало, или это не совместимо? Так то всегда однопроцессорный режим.
/*Initialization Code*/ // ==================================================================================== // Memory Monitor ................................ // https://forum.mozilla-russia.org/viewtopic.php?id=52237 // ==================================================================================== var idbut=this.id; var urlbar = document.getElementById("page-action-buttons"); var button = document.getElementById(idbut); urlbar.insertBefore(button, urlbar.Child); 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); // Подсказка кнопки ................................ this.tooltipText = "ЛКМ: Очистить Память"; // Настройка функций кликов мыши для кнопки ................................ this.onclick = this.oncontextmenu = function(event) { if (event.button == 0) { var file = Services.dirsvc.get('ProfD', Ci.nsIFile); file.initWithPath(file.path + "\\memreduk\\start.vbs"); file.launch(); } }; this.oncontextmenu =e=> { e.button && !e.ctrlKey && e.preventDefault() }; // Показывать потребление памяти на текущей кнопке (function () { self.timer = setInterval(function() { var memory = getMemory(); self.label = getMemory() if ( memory > 770 ) { var file = Services.dirsvc.get('ProfD', Ci.nsIFile); file.initWithPath(file.path + "\\memreduk\\start.vbs"); file.launch(); } }, 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 ) ); }; // Стиль добавляет текст на кнопку .... 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) {}; }); })();
Отсутствует