>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Firefox http://forum.mozilla-russia.org/viewforum.php?id=4 >Запуск Firefox с определенным выбором в прокси http://forum.mozilla-russia.org/viewtopic.php?id=78224 |
ALEX_45_ORP > 25-02-2023 08:13:30 |
Какой параметр надо изменить в about: config (в настройках выбор не сохраняется при перезапуске), чтобы ФФ всегда запускался с выбором прокси на пункте Использовать системные настройки прокси? |
kokoss > 25-02-2023 09:13:05 |
ALEX_45_ORP |
ALEX_45_ORP > 25-02-2023 09:26:08 |
kokoss сработало, но не совсем так как мне нужно было, а именно - мне надо чтоб выбор был активным, а у вас он заблокирован - внизу примеры: |
kokoss > 25-02-2023 09:53:23 |
Сами же хотели -> ALEX_45_ORP пишет
тогда ищите причину почему у вас не сохраняются настройки прокси. У меня сохраняются! |
ALEX_45_ORP > 25-02-2023 10:01:36 |
kokoss может как-то код изменить и он заработает как надо?? либо изменить этот код кнопки: Выделить код Код:(ps => { this._handleClick = () => { var direct = ps.getIntPref(s) == 0; var msg = ` Прокси серверы : В${direct ? "" : "ы"}ключить ?`; if (!Services.prompt.confirm(null, "ВНИМАНИЕ !", msg)) return; ps.setIntPref(s, direct ? 2 : 0); var method = `${direct ? "en" : "dis"}able`; AddonManager.getAddonByID("{acf99872-d701-4863-adc2-cdda1163aa34}") .then(addon => addon[method](), Cu.reportError); } var s = "network.proxy.type"; var toggleImage = val => { this.icon.src = (val = ps.getIntPref(s, 2)) ? this.image : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFklEQVR42mO0DwpKaG9vL2VmZmb8+/fvPwY84P///2DMwcHBcuHChZcp4eE5jJeePn2hIyUl/uDTJwZuLi4GFhYWBmZsmqH073//GD5+/MigIijIEJmTM4Px1Z8/H86dP8/vYWrKQAoAuSS1omIp46u/fz9cunSJ38XQkCQDvgINyCouXsL49v//D+cvXCDZgBe/fzOUl5cvYfwMNODA8eP8vlZW5BnwDWjAvhMn+H0sLUky4Mn37wzV1dUQAw6fPcvvbmJCkgEPPn9mqK+vX8L4E2QAGWFw5/17hubm5iWMv4AGnL55k99aQ4MkA26/e8fQ0dGxlPHxt28vZDg5xUGCf4H4JxD/AOI/f/8y/AMmmt/AwAJhYCplYGRkZPjz5w9YnJeXFxSICxhN3N3zSkpK8kH6371791UOCHR0dIR+/frFAMIgDaBE8+rVq78XL158BBT7xMPDw/f69evvrXV1pYxAjSDMA8R8wWlphfn5+SlAM/iB6R1sI0jz169fwfjs2bN3m5qaWu+fObMO6uAvjDA/uUdFle1YurQTxP4KxL+AmAnkFSAGuoxBREiIQRDIfvjlyxcFXl5QnF9hgNoOAUJCdsuWL1/m4+YmzQU14BdUig2IWYD4LTAsgDn31KT6+hAg9zGqARAgJ6OvH2Fubm6hrq4uC/QrFzDA/r958+Yz0P/3Dx8+fOjPy5drgepewzQAAJP3DZ3PnU32AAAAAElFTkSuQmCC"; this.tooltipText = val ? 'Автопрокси' : 'Без прокси'; BrowserReload(); cbu.setPrefs("network.proxy.autoconfig_url", val ? "resource://chrome/proxy/proxy2.pac" : "resource://chrome/proxy/proxy2.pac"); cbu.setPrefs("intl.accept_languages", val ? "fr" : "ru"); cbu.setPrefs("browser.zoom.full", val ? true : true); cbu.setPrefs("media.autoplay.default", val ? 5 : 5); } toggleImage(); ps.addObserver(s, toggleImage, false); addDestructor(() => ps.removeObserver(s, toggleImage)); })(Services.prefs); this.onclick = e => e.button != 1 || gShowPopup(this); this.oncontextmenu =e=> { e.button && !e.ctrlKey && e.preventDefault() }; так, чтобы он переключал на системные настройки прокси ... так даже лучше будет. |
kokoss > 25-02-2023 10:31:36 |
ALEX_45_ORP |
ALEX_45_ORP > 25-02-2023 10:34:29 |
kokoss пишет
не помогло ... |
kokoss > 25-02-2023 10:37:07 |
ALEX_45_ORP пишет
Попробуйте так -> скрытый текст Выделить код Код:(ps => { this._handleClick = () => { var direct = ps.getIntPref(s) == 5; var msg = ` Прокси серверы : В${direct ? "" : "ы"}ключить ?`; if (!Services.prompt.confirm(null, "ВНИМАНИЕ !", msg)) return; ps.setIntPref(s, direct ? 2 : 5); var method = `${direct ? "en" : "dis"}able`; AddonManager.getAddonByID("{acf99872-d701-4863-adc2-cdda1163aa34}") .then(addon => addon[method](), Cu.reportError); } var s = "network.proxy.type"; var toggleImage = val => { this.icon.src = (val = ps.getIntPref(s, 2)) ? this.image : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFklEQVR42mO0DwpKaG9vL2VmZmb8+/fvPwY84P///2DMwcHBcuHChZcp4eE5jJeePn2hIyUl/uDTJwZuLi4GFhYWBmZsmqH073//GD5+/MigIijIEJmTM4Px1Z8/H86dP8/vYWrKQAoAuSS1omIp46u/fz9cunSJ38XQkCQDvgINyCouXsL49v//D+cvXCDZgBe/fzOUl5cvYfwMNODA8eP8vlZW5BnwDWjAvhMn+H0sLUky4Mn37wzV1dUQAw6fPcvvbmJCkgEPPn9mqK+vX8L4E2QAGWFw5/17hubm5iWMv4AGnL55k99aQ4MkA26/e8fQ0dGxlPHxt28vZDg5xUGCf4H4JxD/AOI/f/8y/AMmmt/AwAJhYCplYGRkZPjz5w9YnJeXFxSICxhN3N3zSkpK8kH6371791UOCHR0dIR+/frFAMIgDaBE8+rVq78XL158BBT7xMPDw/f69evvrXV1pYxAjSDMA8R8wWlphfn5+SlAM/iB6R1sI0jz169fwfjs2bN3m5qaWu+fObMO6uAvjDA/uUdFle1YurQTxP4KxL+AmAnkFSAGuoxBREiIQRDIfvjlyxcFXl5QnF9hgNoOAUJCdsuWL1/m4+YmzQU14BdUig2IWYD4LTAsgDn31KT6+hAg9zGqARAgJ6OvH2Fubm6hrq4uC/QrFzDA/r958+Yz0P/3Dx8+fOjPy5drgepewzQAAJP3DZ3PnU32AAAAAElFTkSuQmCC"; this.tooltipText = val ? 'Автопрокси' : 'Системные настройки прокси'; если не поможет тогда не знаю... |
ALEX_45_ORP > 25-02-2023 11:00:41 |
к сожалению, тоже мимо, ладно, может еще кто подтянется и подскажет ... |
Dumby > 25-02-2023 13:17:33 |
ALEX_45_ORP пишет
Подскажет что? Приведённый код переключает настройку network.proxy.type Хоть бы buttonsoverlay.xul дал посмотреть. |
ALEX_45_ORP > 25-02-2023 14:11:09 |
Dumby Вот и маэстро пожаловал, теперь даже не сомневаюсь - вопрос будет решен влет! |
Dumby > 25-02-2023 15:18:37 |
ALEX_45_ORP Название: «Вкл/выкл аддоны . Востановление их по умолчанию». Иконка Выделить код Код:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsSAAALEgHS3X78AAADFklEQVQ4jXWUzW/URRzGP/OyO7vLbilbUNHaIuLWkwSlMUQj8V/g5k1NjNceTAN4MNwMiX+AJR5IRKoS9YYmogRvhBhTI7G00NDuJuCW0u7ub/t7mxkP80MxwiRzmZdnnuf5PvMVAB40sAcYA+rADqAGlAFJGBZIgQgY0mDAU9z7YIn1TyAXAxAKXq3AMeAAUAFMMTUgCiAH5EBSAG5jWOYQ36C4qh3sBo7l8LYNrFDFrUcN+dBeKaErVoAxbukMxkvwSg47RHgRC9KC84HtP3QArwosH6jV3V0O53cZ1ymMiOCLlOAcCI/wenwc06iTLC1jncW80IIo8mm77R3eS/ASRAr1CBrSg8lBZGFRxiDt5ISsnTiu9NmzKj14SNmpKWU+O6PMhydUsn+fTEDm4bywIDQY6aCcg04LF2OARh2mD8P0NCt792KbTXjtde4ffVNsNMdIg3wRAxloC0bHUFKgHhhsgbzTIbpwgdVen3anw5O9DboXv+ePa1e97rTF06GUPgu+KQclsRTK/hHwYlEU4UBuAB0QY8ATwC0gK5fdZK0mmtuxs0nsfHh70cEpmRaheCBtAGwhAMEEgjqCCMEz1QpHZ2Z4+dJP1GeP00MwLO7FgO6HkuLBO+D52Vl2nzwJO3fC/U2QIgiuVMFUBcBfP1+mixd7CqABeB1BZsD6wh/fagUQgF2j/wtk+/Yqyz9cRP+rwqaQyRjSGHJbSLv51df0b648Jtfw+9ynbF75BV1ISkKIU9mHZAg+Ae/Bdi/9aK+fPm3zQPA/8/Ln5217ft6aJLYKbAw+Bt+DRJdh4GGYgBegvLW+PT8v7m1t+WffedfvOnKE9cU/uX7uC7rffcvo7RVRC0ykg9zDUMBAG1izsDCElzw0AZLeJptfnufOr9dgaop4tc1g4TdGCK0hAWWD0n4NFgysibnwQd9Q8NYotEb3PVdRZaOjG4vlCK+2QZSAKngD1kHmIMsh7cGNBM4puBJ6Ta1W+Xg4nGw16hMH33t/JDfGLJ6Zqw7X10vlorG58OMzD3EJkgT6d2BtJmQ1/huP42DgbE+lQwAAAABJRU5ErkJggg== Кнопка добавляет обсёрверы, которыми, при выходе из браузера, устанавливается состояние включённости некоторых аддонов (это и при рестарте), удаляется персист состояния открытости сайдбара, и сбрасывается некоторое количество настроек, а среди них и "network.proxy.type", |
ALEX_45_ORP > 25-02-2023 15:21:37 |
Dumby, да именно новый запуск, а что сделать-то чтоб проверить, деактивировать просто кнопку? 25-02-2023 15:34:02 |
Dumby > 25-02-2023 16:28:33 |
ALEX_45_ORP пишет
Где «там»? Я тебе сказал, какое у кнопки название, и какая у кнопки иконка. скрытый текст Выделить код Код:/*Initialization Code*/ ((id, g) => { addDestructor(r => r[5] == "e" && id in g && g[id].destroy()); if (g[id]) return; var {obs, xulStore, prefs} = Services; var topic = "quit-application", doc = document.documentURI; obs.addObserver(g[id] = { observe(s, t, data) { this.destroy(); if (data != "shutdown") return; xulStore.removeValue(doc, "sidebar-box", "checked"); for(var pref of [ "browser.zoom.full", "intl.accept_languages", "network.proxy.type", "extensions.long_left_click.timeContent", "browser.toolbars.bookmarks.visibility", "general.autoScroll", ]) prefs.clearUserPref(pref); }, destroy() { delete g[id]; obs.removeObserver(this, topic); } }, topic, false); })( "CBQuitApplication", Cu.getGlobalForObject(Cu) ); ((id, g) => { addDestructor(r => r[5] == "e" && id in g && g[id].destroy()); if (g[id]) return; var topic = "quit-application-granted", {obs} = Services; obs.addObserver(g[id] = { // true - disable, false - enable states: { "mozilla_cc3@internetdownloadmanager.com": false, " jid1-s2tSKqH4h0BHUw@jetpack": false, "{74145f27-f039-47ce-a470-a662b129930a}": false, "{acf99872-d701-4863-adc2-cdda1163aa34}": true, }, filter(addon) { var state = this.states[addon.id]; if ( state !== undefined && addon.userDisabled != state && addon.type.endsWith("extension") && addon.location.name != "app-builtin" ) { addon.active = addon.location.get(addon.id).enabled = !(addon.userDisabled = state); return true; } }, observe() { this.destroy(); if (g.XPIDatabase.getAddons().filter(this.filter, this).length) g.XPIDatabase.saveChanges(), g.XPIStates.save(); }, destroy() { delete g[id]; obs.removeObserver(this, topic); } }, topic, false); })( "CBQuitApplicationExtensionsSwitcher", Cu.import("resource://gre/modules/addons/XPIDatabase.jsm", {}) );
Следует избегать спрашивать «как правильно». |
ALEX_45_ORP > 25-02-2023 17:02:53 |
Dumby пишет
Excuse me ... нашел эту кнопку по коду: |
Dumby > 25-02-2023 18:20:16 |
ALEX_45_ORP пишет
При чём здесь «Excuse me»? скрытый текст Я же тебя не виноватил, просто совет дал. Допустим, есть заинтересованый ответить. Таким образом, столь излишне категоричной постановкой вопроса,
Нет, не нашёл. Это, определённо, не та кнопка. Если можешь создать новую (пустую) кнопку, тогда размести ей во вкладке Код Искомая кнопка должна открыться на редактирование. |
ALEX_45_ORP > 25-02-2023 18:24:56 |
Все понял, выводы сделал, надеюсь правильные - приступаю к изготовлению кнопки (ранее уже делал для себя свои) ... 25-02-2023 18:38:37 Выделить код Код:/*Initialization Code*/ if (true) return; ((id, g) => { addDestructor(r => r[5] == "e" && id in g && g[id].destroy()); if (g[id]) return; var {obs, xulStore, prefs} = Services; var topic = "quit-application", doc = document.documentURI; obs.addObserver(g[id] = { observe(s, t, data) { this.destroy(); if (data != "shutdown") return; xulStore.removeValue(doc, "sidebar-box", "checked"); for(var pref of [ "browser.zoom.full", "intl.accept_languages", "network.proxy.type", "extensions.long_left_click.timeContent", "browser.toolbars.bookmarks.visibility", "general.autoScroll", ]) prefs.clearUserPref(pref); }, destroy() { delete g[id]; obs.removeObserver(this, topic); } }, topic, false); })( "CBQuitApplication", Cu.getGlobalForObject(Cu) ); ((id, g) => { addDestructor(r => r[5] == "e" && id in g && g[id].destroy()); if (g[id]) return; var topic = "quit-application-granted", {obs} = Services; obs.addObserver(g[id] = { // true - disable, false - enable states: { "mozilla_cc3@internetdownloadmanager.com": false, " jid1-s2tSKqH4h0BHUw@jetpack": false, "{74145f27-f039-47ce-a470-a662b129930a}": false, "{acf99872-d701-4863-adc2-cdda1163aa34}": true, }, filter(addon) { var state = this.states[addon.id]; if ( state !== undefined && addon.userDisabled != state && addon.type.endsWith("extension") && addon.location.name != "app-builtin" ) { addon.active = addon.location.get(addon.id).enabled = !(addon.userDisabled = state); return true; } }, observe() { this.destroy(); if (g.XPIDatabase.getAddons().filter(this.filter, this).length) g.XPIDatabase.saveChanges(), g.XPIStates.save(); }, destroy() { delete g[id]; obs.removeObserver(this, topic); } }, topic, false); })( "CBQuitApplicationExtensionsSwitcher", Cu.import("resource://gre/modules/addons/XPIDatabase.jsm", {}) ); 25-02-2023 18:53:02 |
unter_officer > 25-02-2023 18:54:48 |
ALEX_45_ORP пишет
Зачем же так "жестоко". |
ALEX_45_ORP > 25-02-2023 19:06:50 |
unter_officer пишет
попробовал - запускается с системными по умолчанию, и при отключ. кнопки прокси сбрасывается на Без прокси, но при повторном включении указывает на прокси-паки - это не совсем то, что нужно - а нужно чтоб при ее выкл. было Без прокси, а при вкл. Системные настройки ... 25-02-2023 19:25:05 |
negodnik > 25-02-2023 20:37:25 |
> мне надо чтоб выбор был активным Выделить код Код://если 5 заменяется вручную на что-то другое, следующий раз запустить браузер со значением, указаным в defaultPref clearPref("network.proxy.type"); defaultPref("network.proxy.type", 5); |
_zt > 26-02-2023 00:06:00 |
kokoss пишет
Зачем lockPref, зачем config.js? |