unter_officer
Профиль где? В системе? У меня портабл и профиль в каталоге .
У меня портабл от portableapps.com и профиль в каталоге.
«The Truth Is Out There»
Отсутствует
Нельзя глянуть?
Я же говорил, что не хочу больше с этой темой связываться,
слишком сложно для меня. Ладно, подкрутил тяп-ляп кое-что.
Тестировать не буду, делать правильней и лучше не стану.
Вот, просто чтоб тебе совсем без ничего не остаться
((bar, button = true, insertAtTop = true, ctrlFcloseFinbar = false) => ({ init(parent) { var has = bar = parent.querySelector("#appcontent > findbar"); has || this.initFinbar(parent); var lo = bar.linkedObject; lo.listenCtrlF = ctrlFcloseFinbar ? listen => listen ? addEventListener("keydown", lo, true) : removeEventListener("keydown", lo, true) : () => {}; has && !bar.hidden && lo.listenCtrlF(true); if (button) self._handleClick = () => bar.hidden ? bar.startFind(bar.FIND_NORMAL) : bar.collapsed || bar.close(); addDestructor(lo.destroy, lo); }, destroy(reason) { if (reason[5] != "e") return; bar.close(); bar._browser = {}; bar.remove(); this.setProgressListener(false); if (!this.receiver) this.actorProto.receiveMessage = this.actorReceiveMessage; for(var key of ["gFindBar", "gFindBarInitialized"]) key in this && Object.defineProperty(window, key, this[key]); for(key of this.gBrKeys) gBrowser[key] = this[key]; Services.ppmm.removeDelayedProcessScript(this.url); Services.ppmm.loadProcessScript("data:," + encodeURIComponent(` (ai => ai.processType == ai.PROCESS_TYPE_DEFAULT || ai.processType == ai.PROCESS_TYPE_CONTENT)( Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime) ) && (nsvo => { var proto = nsvo.Finder.prototype; if ("_requestMatchesCount" in proto) { proto.requestMatchesCount = proto._requestMatchesCount; delete proto._requestMatchesCount; } })(Cu.import("resource://gre/modules/Finder.jsm", {}));` ) , false); }, initFinbar(parent) { for(var tab of gBrowser.tabs) { if (!tab._findBar) continue; tab._findBar.browser = null; tab._findBar._browser = {}; tab._findBar.remove(); delete tab._findBar; } bar = document.createXULElement("findbar"); var p = new Proxy({}, {get: () => () => {}}); bar._browser = {finder: p, messageManager: p}; parent.insertBefore(bar, insertAtTop ? parent.firstChild : null); bar.linkedObject = this; ["gFindBar", "gFindBarInitialized"].forEach((key, ind) => { var desc = Object.getOwnPropertyDescriptor(window, key); if (!desc.configurable) return; this[key] = desc; delete window[key]; window[key] = ind ? true : bar; }); var key = "getCachedFindBar" in gBrowser ? "getCachedFindBar" : "getFindBar"; this.gBrKeys = [key]; key = "isFindBarInitialized"; if (key in gBrowser) this.gBrKeys.push(key); this.gBrKeys.forEach((key, ind) => { this[key] = gBrowser[key]; gBrowser[key] = ind ? () => true : () => bar; }); var props = [ "close", "startFind", "onMatchesCountResult", "_updateMatchesCount", "_onBrowserKeypress" ]; if ((this.receiver = "receiveMessage" in bar)) props.push("receiveMessage"); else { this.actorProto = Object.getPrototypeOf( gBrowser.selectedBrowser.browsingContext.currentWindowGlobal.getActor("FindBar") ); this.actorReceiveMessage = this.actorProto.receiveMessage; this.actorProto.receiveMessage = msg => { if (msg.name == "Findbar:Keypress") bar._onBrowserKeypress(msg.data); else if (msg.name == "Findbar:Mouseup") bar.onMouseUp(); } } props.forEach((key, ind) => { var func = bar[key].bind(bar); bar[key] = ind ? (...args) => this[key](...args) || func(...args) : (...args) => func(...args) || this[key](...args); }); this.url = "data:," + encodeURIComponent(` (ai => ai.processType == ai.PROCESS_TYPE_DEFAULT || ai.processType == ai.PROCESS_TYPE_CONTENT)( Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime) ) && (nsvo => { var proto = nsvo.Finder.prototype; if ("_requestMatchesCount" in proto) return; proto._requestMatchesCount = proto.requestMatchesCount; proto.requestMatchesCount = ${ this.newRequestMatchesCount } })(Cu.import("resource://gre/modules/Finder.jsm", {}));` ); delete this.newRequestMatchesCount; Services.ppmm.loadProcessScript(this.url, true); var desc = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "value"); var setValue = desc.set.bind(bar._findField); desc.set = val => Components.stack.formattedStack.includes( "set browser@chrome://global/content/elements/findbar.js" ) ? val : setValue(val); Object.defineProperty(bar._findField, "value", desc); }, newRequestMatchesCount: async function requestMatchesCount(aWord, aLinksOnly, aUseSubFrames = true) { if (aLinksOnly && aLinksOnly.constructor.name == "Object") { var {linksOnly, data} = aLinksOnly; aLinksOnly = linksOnly; this.entireWord = data.entireWord; this.caseSensitive = data.caseSensitive; this.onModalHighlightChange(data.useModalHighlight); this.onHighlightAllChange(data.highlightAll); data.highlightAll && await this.highlighter.highlight(true, aWord, linksOnly); this._iterator && this._iterator.reset(); var obj; Object.defineProperty(this, "_currentMatchesCountResult", { configurable: true, enumerable: true, get: (val = obj) => { if (val && val._currentFound) val.total = Math.floor(val.total) + .0001; return obj = val; }, set: val => { if (val) { val.total = 10000; return obj = val; } delete this._currentMatchesCountResult; return obj = this._currentMatchesCountResult = val; } }); } return await this._requestMatchesCount(aWord, aLinksOnly, aUseSubFrames); }, close() { bar.collaped = false; this.setProgressListener(false); this.setBrowser(null, null); }, startFind() { if (this.maybeCollapse(gBrowser.selectedBrowser)) return true; if (bar.hidden) this.setBrowser(300), this.setProgressListener(true); else if (!ctrlFcloseFinbar) setTimeout(() => this.updateMatchesCount(), 100); }, get pf() { delete this.pf; return this.pf = bar.pluralForm || ChromeUtils.import( "resource://gre/modules/PluralForm.jsm" ).PluralForm; }, onMatchesCountResult(res) { if (res.total <= 1000) return; var strTotal = String(res.total); var found = strTotal.includes("."); if (found) strTotal = strTotal.split(".")[0]; if ((res.total = +strTotal.slice(-4)) >= 1000) { res.total = -1; return; } if (res.current > 1000) res.current = +String(res.current).slice(-4); if (res.current && found) return; bar._foundMatches.value = `${+res.total || "Нет"} совпадени${ this.pf.get(res.total, "е;я;й") }.`; bar._foundMatches.hidden = false; return true; }, _updateMatchesCount() { return true; }, _onBrowserKeypress(e) { if (!bar.hidden) return; if (!e.charCode) return true; this.setBrowser(300); this.setProgressListener(true); }, receiveMessage(msg) { msg.target = bar._browser; }, progressListenerAdded: false, setProgressListener(add) { if (add) { if (this.progressListenerAdded) return; this.progressListenerAdded = true; gBrowser.addProgressListener(this); this.listenCtrlF(true); } else { if (!this.progressListenerAdded) return; this.progressListenerAdded = false; gBrowser.removeProgressListener(this); this.listenCtrlF(false); } }, handleEvent(e) { if ( e.ctrlKey && e.code == "KeyF" && !e.shiftKey && !e.altKey && !bar.collapsed ) e.preventDefault(), e.stopPropagation(), bar.close(); }, updateMatchesCount() { var str = bar._findField.value; if (!str) return; var data = { entireWord: bar._entireWord, caseSensitive: bar._typeAheadCaseSensitive, highlightAll: bar._highlightAll, useModalHighlight: bar._useModalHighlight }; bar.browser.finder.requestMatchesCount( bar._findField.value, {linksOnly: bar._findMode == bar.FIND_LINKS, data} ); }, maybeCollapse(br) { return br.isSyntheticDocument || br.documentContentType == "application/vnd.mozilla.xul+xml"; }, setBrowser(updateDelay, br = gBrowser.selectedBrowser) { if (bar._browser != br) { var b = bar._browser; if (b) { this.receiver && b.messageManager .removeMessageListener("Findbar:Mouseup", bar); b.finder.removeResultListener(bar); bar._highlightAll && b.finder.highlight(false); } if (br) { this.receiver && br.messageManager .addMessageListener("Findbar:Mouseup", bar); bar._updateBrowserWithState(); } bar._browser = br; } if (!br) return; bar._updateStatusUI(); bar._foundMatches.value = ""; br.finder.addResultListener(bar); if ( !(bar.collapsed = this.maybeCollapse(br)) && br.currentURI.spec != "about:blank" && updateDelay !== null ) updateDelay ? setTimeout(this.updateMatchesCount, updateDelay) : this.updateMatchesCount(); }, onStateChange(wpr, req, state) { state & Ci.nsIWebProgressListener.STATE_STOP && this.setBrowser(); }, onLocationChange(wpr, req) { req || wpr.isLoadingDocument || gBrowser.selectedTab.hasAttribute("pending") || this.setBrowser(); } }).init(document.getElementById("appcontent")))();
только я привык к этой кнопке, бац и обновления 71
Не подходит тебе CB, не те нынче времена.
Может лучше сделай себе аналогичный WebExtensions.
Прослужит дольше, а если сводить его в мазилу на приём к подписологу,
то вообще будет вечное, разве что только зависимо от рутрекера.
Собственно нужно два текстовых файла и парочка иконок.
Запаковываешь всё это в зип-папку, называешь как_нибудь.xpi
и всё, можно устанавливать. Простенький набросок:
{ "manifest_version": 2, "name": "Some WebExtensions Name", "version": "1.0", "description": "Some WebExtensions Description", "applications": { "gecko": { "id": "{1136c9cb-3899-41d3-8a71-61d74140780d}" } }, "icons": { "32": "webextensions-image32.png" }, "permissions": [ "tabs", "clipboardWrite" ], "browser_action": { "default_icon": "button-image32.png", "default_title": "Some Button Title" }, "background": { "scripts": ["background.js"] } }
background.js
var re = /(.+) (\(.+\)) \[(\d{4})[^\]]+\] (.+) (.+) (.+)/; var query = {active: true, currentWindow: true}; browser.browserAction.onClicked.addListener(async () => { var [tab] = await browser.tabs.query(query); var {title} = tab; re.test(title) && navigator.clipboard.writeText( title .replace(re, "$1 $2 ($4) ($3)") .replace(/ \/ /g, " - ") ); });
Отсутствует
Dumby
Еще не было случая , что бы ты промахнулся... Ф, что на это скажите? https://forum.mozilla-russia.org/viewto … 88#p775488
Лажа какая-то...?
Отредактировано solombala (06-12-2019 22:44:00)
Отсутствует
Dumby я сделал это!!!!!!!! Ох чувак, ну ту крут! Я в глубочайшем восторге! Я хочу знать как это сделано!? Столько лет за компом, надо было языки программирования изучать...
Добавлено 07-12-2019 00:18:55
еще хотел замену двоеточию на юникодный символ,
.replace(/ \: /g, " ׃ ") что то не так сделал, плиз покажи как
Отредактировано Mrakobes666 (07-12-2019 00:18:55)
Отсутствует
что на это скажите?
Ну, попробовал проверить на 73. Такие наблюдения
Создал кнопку и расположил её первой на Панели меню.
Установил network.proxy.type - 2
и network.proxy.autoconfig_url - resource://chrome/proxy.pac
Рестарт. В консоли вижу сообщение:
PAC-alert: [object PACResolutionThreadGlobal]
и, следом за ним, второе:
PAC file installed from file:///C:/Users/Admin/AppData/Roaming/-bla-bla-bla-/chrome/proxy.pac
Так что сама концепция, видимо, работает.
Но, если переместить кнопку на другой тулбар,
который ниже и там кнопки инициализируются позже,
или, даже, дальше вправо по Панели меню,
то никаких подобных сообщений в консоли уже не наблюдается.
То есть, полагаю, здесь весьма скользкая тайминг-грань.
Если так уж прямо нужно «заресурсить» папку chrome,
то надёжнее видоизменить код и расположить его в config.js
// try {(ios => ios.getProtocolHandler("resource") .QueryInterface(Ci.nsIResProtocolHandler) .setSubstitution("chrome", ios.newFileURI( Cc["@mozilla.org/file/directory_service;1"] .getService(Ci.nsIDirectoryService) .QueryInterface(Ci.nsIProperties) .get("UChrm", Ci.nsIFile) )) )(Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService));} catch(ex) {Cu.reportError(ex);}
.replace(/ \: /g, " ׃ ") что то не так сделал, плиз покажи как
Здесь у тебя идёт замена последовательностей
«пробел — двоеточие — пробел» на последовательность
«пробел — HEBREW PUNCTUATION SOF PASUQ (\u05C3) — пробел».
Код вполне рабочий, обратный экранирующий слэш
в этой регулярке не нужен, но и не мешает.
В примере строки (к сожалению, единственном) в твоём
изначальном вопросе, искомая последовательность не встречается,
так что замысел непонятен, а угадатель из меня никакой.
Отсутствует
так что замысел непонятен, а угадатель из меня никакой
прошу прощения, вот:
Рэмбо: Последняя кровь / Rambo: Last Blood (Адриан Грюнберг / Adrian Grunberg) [2019, США, боевик, триллер, приключения, HDRip] Dub (iTunes)
чтобы имя файла сохранялось я заменяю двоеточие на юникодную крякозябру, спасибо майкрософту...также меняю вопросительный знак на финтифлюшку
Рэмбо׃ Последняя кровь - Rambo׃ Last Blood (Адриан Грюнберг - Adrian Grunberg) (2019)
в этом примере визуально осталось двоеточие, но оно в символах unicode
еще бы ? заменить на .. к примеру ‽
как написать строку реплейс?
Добавлено 07-12-2019 09:43:36
.replace(/: /g, "׃ ")
.replace(/? /g, "‽ ")
не пашет
Отредактировано Mrakobes666 (07-12-2019 09:43:36)
Отсутствует
не пашет
Так у тебя строка с «Рэмбо» не подходит под твой основной RegExp,
потому что она, в отличие от строки с «Как чокнутые», не заканчивается на « :: RuTracker.org».
То, что в предполагаемой результирующей строке от строки с «Рэмбо»
отсутствует напрашивающийся «(Dub (iTunes))» окончательно запутывает ситуацию.
Замысел остаётся непонятен. Тогда наугад — обе строки подходят под RegExp,
и двоеточие, соответственно, будет успешно реплейситься так, как у тебя написано,
но «(Dub (iTunes))» во второй результирующей строке будет.
Вот такой новый RegExp:
var re = /(.+) (\(.+\)) \[(\d{4})[^\]]+\] (.+ \((.+)\))( .+)?/;
Отсутствует
Dumby вот досада, я сам забыл, что под регулярку попадает строка из названия вкладки, сам же это придумал, выходит Вы лучше меня знаете мои же запросы)))
совершенно верно, эта строка:
Рэмбо
Последняя кровь / Rambo
Last Blood (Адриан Грюнберг / Adrian Grunberg) [2019, США, боевик, триллер, приключения, HDRip] Dub (iTunes) :: RuTracker.org
Должна стать этим:
Рэмбо
Последняя кровь - Rambo
Last Blood (Адриан Грюнберг - Adrian Grunberg) (Dub (iTunes)) (2019)
т.е. хотел в том случае, если встречается двоеточие заменять его на юникод, а также вопросительный знак на юникодный же символ
признаюсь, что запутал Вас
var re = /(.+) (\(.+\)) \[(\d{4})[^\]]+\] (.+ \((.+)\))( .+)?/; var query = {active: true, currentWindow: true}; browser.browserAction.onClicked.addListener(async () => { var [tab] = await browser.tabs.query(query); var {title} = tab; re.test(title) && navigator.clipboard.writeText( title .replace(re, "$1 $2 ($4) ($3)") .replace(/ \/ /g, " - ") ); });
этот код работает правильно, информацию об аудиодороге (Dub (iTunes)) вставляет в нужное место
теперь бы дополнить строкой по замене двух запрещенных символов
на
соответственно
чтобы было
Куда ты пропала, Бернадетт
/ Where'd You Go, Bernadette (Ричард Линклейтер / Richard Linklater) [2019, США, драма, комедия, детектив, BDRip] Dub (iTunes) :: RuTracker.org
стало
Куда ты пропала, Бернадетт
- Where'd You Go, Bernadette (Ричард Линклейтер - Richard Linklater) (Dub (iTunes)) (2019)
Отредактировано Mrakobes666 (07-12-2019 13:23:26)
Отсутствует
А куда подевался князь-анархист? Вроде он спец по about:addons . Теперь кнопка не работает "//Добавление на вкладке дополнения в меню расширений дополнительных пунктов" . Там в mozapps опять что-то рихтанули...
Да, а как независимо продублировать кнопку с одним параметром? Типа:
ps => { var s = "network.proxy.type"; this._handleClick = () => ps.setIntPref(s, ps.getIntPref(s, 0) ? 0 : 1); var toggleImage = val => { this.icon.src = (val = ps.getIntPref(s, 1)) ? this.image : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAADaElEQVR42pWTD0zUZRjHP7+fd3CAHhGFZInIQJ1/IKLWzMqh6eWIgQP/EC2RmXOuP+JMobCl2y3L2i3WIf5ZWI0xZWuizn8XmDP5oxxXrT9LvQYmIkOJDgWBH/frubu4EVubPduz3/s+7/v7vM/7fZ5X4f/bY+IPiLvFB0aDyuigksyXVJTI2wz0hTLB60UPrsk4SOlnWDcTavYw+H0JZ3/5F6ieV1an6199JsNo8Xvio3/q47JR/okZqXM3bX4hf7uN5nNjQRsFZKe8Ga72QPJkiDSBORTCQwKIIU1SE8alDsiZA+fbrmxd+/rbu2msDYK+JrdguV5TQW51KO29I2TMVHnUDHGRokaYD6DTP+T7KjjcGpZEI01/uLaUlhR/QtOZIOgIKwqy9MN7WPS5CVenTs5shXmxkBAFMRNBlW13BsUFdvKyRv7jBlo6Wt/ZtKX4AxocY0GFArITZTV19nbrj5ijFebI9eKlOA+Gg8kgymmB652+qvGRxUDvPVfphqISKxdOB0FHWVmYqR+yo5Sa6mjTFxMfqJhPI7MpkJHm9cMGejxa2IcZBqLDne+vKyrewflvxmu0xwf6mKYRCwlqvLRKGAbFgOpn9jHEXwzSwPXhlXmrjCTHtpSVWLe9xZn68RlVCMgoIOZLz8UQzkRCBGb0g7q5K7MJEjVqD2elGegfbq91nLBmU7M/CGqgYNN8vdKG8wYiIkyZFNDF3426L6azrwUWxCnkp+iim0LNT2C70HadvrKplNn8oE9ZuvjN36oq6e6P5sqt21KdHqLCIngmLk60CKHiok5lK2x7TqHgicABey/B1lO4PTevFeF4N/gM9CfLFxITobA2rYvXjqSTMWMdK+am+qv18mHavb1MW5IGB3NgeEROb/RKRmojHRzj8rdBkJiUiMFMkmYe/eLQbl5NzfRHu+5A7C6q+Zk8UwrssgQ6/7t2L+/VKVJl5Xf+vDYWFCF+186LqRt/PJjHvMmJMvfwpcvoXnNggYuuabnMAktS4Il0eDR21KvN3FCddP4wFvRfpj7L1OKdLLSmm2dAXjKsEZ2cUoA3jitn5dJ7abXfD4hEop4qZ1nVkofmJrEvC5bPhtpfIbsKGxdbNuMovC+Qz6YwaVU12dufT3l6OosSFBF6aD0nnPtx7ZTlc38DDl9EFHoV7LkAAAAASUVORK5CYII="; this.tooltipText = val ? 'Все сайты через Socks5' : 'Без прокси'; } toggleImage(); ps.addObserver(s, toggleImage, false); addDestructor(() => ps.removeObserver(s, toggleImage)); })(Services.prefs); this.oncontextmenu =e=> { e.button && !e.ctrlKey && e.preventDefault() };
Отредактировано solombala (07-12-2019 13:51:31)
Отсутствует
теперь бы дополнить строкой по замене двух запрещенных символов : и ? на ׃ и ‽ соответственно
Ну, я сейчас дополнил батарею реплейсов, вот так:
var re = /(.+) (\(.+\)) \[(\d{4})[^\]]+\] (.+ \((.+)\))( .+)?/; var query = {active: true, currentWindow: true}; browser.browserAction.onClicked.addListener(async () => { var [tab] = await browser.tabs.query(query); var {title} = tab; re.test(title) && navigator.clipboard.writeText( title .replace(re, "$1 $2 ($4) ($3)") .replace(/ \/ /g, " - ") .replace(/: /g, "׃ ") .replace(/\? /g, "‽ ") ); });
data:text/html;charset=utf-8,<title>Рэмбо: Последняя кровь / Rambo: Last Blood (Адриан Грюнберг / Adrian Grunberg) [2019, США, боевик, триллер, приключения, HDRip] Dub (iTunes) :: RuTracker.org</title> data:text/html;charset=utf-8,<title>Куда ты пропала, Бернадетт? / Where'd You Go, Bernadette (Ричард Линклейтер / Richard Linklater) [2019, США, драма, комедия, детектив, BDRip] Dub (iTunes) :: RuTracker.org</title>
А другая с этим this._handleClick = () => ps.setIntPref(s, ps.getIntPref(s, 0) ? 0 : 1);
Что значит «А»? Строка символ-в-символ точно такая же,
как и в коде под спойлером, не считая начальных пробелов.
Отсутствует
Dumby все работает
вот расширение без подписи, иконки есть https://yadi.sk/d/ljDkR5awNv5OSQ
Отсутствует
solombala, у меня работает, и путь примерно такой resource://FF/proxy.pac.
Правда в 73 не знаю, может и не пашет.
(()=>{ //Задать путь к файлу в папке chrome. .... - forum.mozilla-russia.org/viewtopic.php?pid=775488#p775488||775536#p775536 (({io,dirsvc,prefs})=>{ var substitution="FF",dir="CurWorkD"; var rph=io.getProtocolHandler("resource").QueryInterface(Ci.nsIResProtocolHandler); addDestructor(reason=>reason[5]=="e"&&rph.hasSubstitution(substitution)&&rph.setSubstitution(substitution,null)); if(rph.hasSubstitution(substitution))return; rph.setSubstitution(substitution,io.newFileURI(dirsvc.get(dir,Ci.nsIFile))); })(Services); })();
Отредактировано func4ptch4 (08-12-2019 00:24:20)
Отсутствует
Извиняюсь this._handleClick = () => ps.setIntPref(s, ps.getIntPref(s, 0) ? 0 : 2);
ручная настройка ...
«ручная настройка» это 1
Хотелку объяснять, я так понимаю, не будешь.
Ну вот, например, нечто псевдоуниверсальное.
Задаёшь названия и иконки для всех вариантов,
затем правишь var config = […, …];
Два значения, между которыми переключаться.
Порядок важен: первое будет использоваться как то,
на которое пойдёт переключение, если текущее состояние
настройки какое-то другое третье (не первое и не второе).
(data => { var config = [0, 1]; var pref = "network.proxy.type"; var map = Object.create(null); for(var key in data) map[key[0]] = [key.slice(2), data[key]]; var format = (now, to) => `Переключить на: ${map[to][0]}\nСейчас: ${map[now][0]}`; var to = val => val == config[0] ? config[1] : config[0]; var getVal = () => { var val = Services.prefs.getIntPref(pref); return val in map ? val : 0; } var setState = () => { var val = getVal(); this.icon.src = map[val][1]; this.tooltipText = format(val, to(val)); } this._handleClick = () => Services.prefs.setIntPref(pref, to(getVal())); setState(); Services.prefs.addObserver(pref, setState); addDestructor(() => Services.prefs.removeObserver(pref, setState)); })({ "0_direct": "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ==", "1_manual": "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ==", "2_pac": "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AMgA/wDIAP8AyAD/AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ==", "4_autodetect": "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ==", "5_system": "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ==" });
нельзя как-то путь укоротить? примерно так resource://proxy.pac?
Можно, если substitution будет "proxy.pac"
и в io.newFileURI() передать, собственно, сам файл, а не папку.
и еще пути которые в .css, chrome:// не подойдут?
Не понял.
Еще вопрос -_- обертку типа этого (()=>{ })(); можно убрать? так то я держу с другими кодами там их много.
Но мне показалось лишним так как он итак вроде завернут, или оставить?
Правильно показалось, можешь убрать.
И prefs (вместе с запятой перед ним) можешь удалить,
нигде в коде не используется.
Отсутствует
Dumby
Заделал и это радует. прокси паки разные и их много. Папка в профиле , но не chrome , а просто папка Proxy///
Плюс используется network.proxy.type -1 , ну , тут сложнее , только один прокси Socks / Хотя, тоже можно кнопу сделать на разные , как с network.proxy.type -2
Да, но в 71 надо рихтануть в модулях ProxyScriptContext.jsm !
Отсутствует
kokoss
Вот тебе новое CB для 71 и не парься)
Сегодня обновился с 70 до 71 и CВ упал.
Скачал по ссылке из цитируемого поста, установил. СВ в дополнениях есть, но не работает.
Полистал форум по 71, СВ 0.0.7.0.0.8 вроде должен работать в этой 71 версии, но у меня не пашет.
Как оживить СВ?
Отредактировано leex (09-12-2019 01:14:40)
Отсутствует
leex
У меня в 71 работает эта версия CB
Win7
Отсутствует
У меня не работает ни та, ни эта.
Но в дополнениях СВ есть
Может быть в конфиге что-то поменять?
На этом конфиге все прекрасно работало вплоть до 70 версии
Отредактировано leex (09-12-2019 03:20:58)
Отсутствует
У меня не работает ни та, ни эта.
Но в дополнениях СВ есть
Может быть в конфиге что-то поменять?
На этом конфиге все прекрасно работало вплоть до 70 версии
Тогда эту версию:
Win7
Отсутствует
установил. СВ в дополнениях есть, но не работает
А, при закрытом Firefox, папку startupCache
из Локального каталога профиля удалил?
в 71 mozapps влепил от 70 , так ударило по СВ - не показывает настройки , может рихтануть что в Js или CSS самой СВ ?
Да уж, на такие эскапады, определённо, не рассчитано.
первая строка — путь до файла относительно CB,
вторая строка — то, что нужно найти,
третья строка — то, чем нужно заменить найденное.
Если получится, этот пересобранный CB
в цепи версий, разумеется, не участвует.
\bootstrap.js (this["about:addons"] = appVersion > 70 (this["about:addons"] = appVersion > 71 \chrome\custombuttons\content\addons\addons-prefs.js var features = "chrome,titlebar,toolbar,centerscreen"; var features = "chrome,titlebar,toolbar,centerscreen,noopener"; \components\CustomButtonsService.js openEditor: function (opener, uri, param) { openEditor: function (opener, uri, param) { opener = opener && opener.windowRoot.ownerGlobal;
Отсутствует
Тогда эту версию:
И она не работает
и для установки использую этот способ.
Ну да, так и есть, в конфмгах дописаны данные из этих постов еще с 69 версии
А, при закрытом Firefox, папку startupCache
из Локального каталога профиля удалил?
А у меня вообще нет такой папки в профиле
Отредактировано leex (09-12-2019 15:38:00)
Отсутствует