это был не огрызок кода
Предоставленный код неполон, концовка обрезана, а значит огрызок.
Мне бы пример как добавить кнопку в диалог из СВ.
Пример есть: CB_Editor_Toggle_on_Top (watcher — ловец окон).
Если хочешь что-нибудь похуже, но попроще, тогда, например,
можно попробовать как-то так
((id, g) => { addDestructor(r => r[5] == "e" && id in g && g[id].destroy(true)); if (g[id]) return; var topics = ["widget-first-paint", "quit-application-granted"], {nsIFile} = Ci; var {obs, wm, dirsvc} = Services, uct = "unknownContentType", ends = `/${uct}.xhtml`; (g[id] = { init() { for(var topic of topics) obs.addObserver(g[id], topic, false); this.wins(); }, destroy(wins) { delete g[id]; for(var topic of topics) obs.removeObserver(this, topic); wins && this.wins("removeBtn"); }, btn(win, method = "addBtn") { win.location.href.endsWith(ends) && this[method](win.document); }, wins(method) { for(var win of wm.getEnumerator(null)) this.btn(win, method); }, observe(win, topic) { topic[0] == "q" ? this.destroy() : this.btn(win); }, get data() { var o = g.Object, d = key => dirsvc.get(key, nsIFile).path; delete this.data; return this.data = o.assign(o.create(null), { "Рабочий стол": d("Desk"), "chrome": d("UChrm"), "chrome\\CSS": d("UChrm") + "\\CSS", "C:": "C:\\", "E:": "E:\\", "F:": "F:\\", "G:": "G:\\", }); }, addBtn(doc) { var df = doc.createDocumentFragment(); var btn = doc.cbSaveToButton = df.appendChild(doc.createXULElement("button")); btn.label = "Сохранить в"; btn.className = "dialog-button"; var popup = btn.appendChild(doc.createXULElement("menupopup")); popup.setAttribute("oncommand", "handleCommand(event.target)"); popup.handleCommand = this.cmd; for(var lab in this.data) { var menuitem = popup.appendChild(doc.createXULElement("menuitem")); menuitem.label = lab; menuitem.dir = this.data[lab]; menuitem.className = "menuitem-iconic"; menuitem.image = "moz-icon:file:///" + menuitem.dir; } doc.getElementById(uct).getButton("cancel").before(df); btn.type = "menu"; }, removeBtn(doc) { if (doc.cbSaveToButton) doc.cbSaveToButton.remove(), delete doc.cbSaveToButton; }, cmd(trg) { var file = g.Components.Constructor( "@mozilla.org/file/local;1", nsIFile, "initWithPath" )(trg.dir); var win = trg.ownerGlobal; file.append(win.document.getElementById("location").getAttribute("realname")); win.dialog.mLauncher.saveToDisk(file, 1); win.dialog.onCancel = function() {}; win.close(); } }).init(); })("CBUnknownContentTypeSaveToButtonizer", Cu.getGlobalForObject(Cu));
А зауниверсалить можно? Типа, из abot:config параметр ? media.autoplay.default , или типа этого...Короче , на выходе обратно встало, как по умолчанию...
Ну, я дописал обратно-вставлялку, и, вроде, сбрасывается.
((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.setValue( doc, "PersonalToolbar", "collapsed", "true" ); for(var pref of [ "media.autoplay.default", "extensions.long_left_click.timeContent", ]) prefs.clearUserPref(pref); }, destroy() { delete g[id]; obs.removeObserver(this, topic); } }, topic, false); })( "CBQuitApplicationPersonalToolbarCollapser", Cu.getGlobalForObject(Cu) );
Отредактировано Dumby (28-02-2020 08:27:15)
Отсутствует
Dumby
Тонкий ход , но с этим network.proxy.type пришлось в greprefs.js рихтануть 5 на 2 ...По умолчанию 5 , т.е. системные , а нужно чтобы автопрокси всегда (2)...
Да, и еще, не ставьте Ublock выше uBlock Origin v1.24.4 !!! , DNS - выпасает, зараза...
Отсутствует
обновилась версия seamonkey на 2.53.1
custom buttons (0.0.5.8.9.3) пережил апгрейд версии, но появился глюк
в меню custom buttons - у вас нет установленных пользовательских кнопок, хотя кнопки есть и они работают
Отсутствует
Перестала у меня работать кнопка Google русский-английский. Это у меня личное или можешь поправить?
Эта https://forum.mozilla-russia.org/viewto … 41#p777541 работает в 73
Win7
Отсутствует
Dumby
Нельзя ли редактор СВ рихтануть? Ну, как в AkelPad - "Вид" - перенос по словам ...А , то это заманало без переноса..
Отсутствует
Как можно изменить надпись о количестве совпадений на Findbar-е?
Скажем вместо 30-е из 50 совпадений я хочу чтоб показывало просто 30/50
Попробуйте эту... https://forum.mozilla-russia.org/viewto … 50#p759450
Win7
Отсутствует
Кто знает. Как на код , на код , не на INI /ToggleImage - задать?
var id = "{6acd0f4d-ab79-4b79-9b28-8bde65ae355c}"; AddonManager.getAddonByID(id).then( addon => addon[ addon.userDisabled ? "enable" : "disable" ]({allowSystemAddons: true}), Cu.reportError );
Отредактировано solombala (28-02-2020 18:13:44)
Отсутствует
toxa пишетКак можно изменить надпись о количестве совпадений на Findbar-е?
Скажем вместо 30-е из 50 совпадений я хочу чтоб показывало просто 30/50Попробуйте эту... https://forum.mozilla-russia.org/viewto … 50#p759450
Я раньше пользовался той кнопкой. В основном потому что с ней показывало кол-во совпадений. Но сейчас и родной Findbar это умеет. Родной меня устраивает, только я хотел бы, чтобы надпись о количестве совпадений покороче была.
Я могу получить этот label который показывает результат. И с помощью replace сделать в нем текст как мне надо, но ведь с каждым поиском текст меняется. И как отследить это я не знаю.
Отсутствует
только я хотел бы, чтобы надпись о количестве совпадений покороче была.
Куда короче то, как вы и хотели, без текста:
Win7
Отсутствует
Куда короче то, как вы и хотели, без текста:
Тоже так хочу, интересно для 73 есть рабочая, в смысле только надписи сократить?
Отредактировано voqabuhe (28-02-2020 22:48:24)
Отсутствует
Как на код , на код , не на INI /ToggleImage - задать?
а какая разница где ?!
у мя так:
......... выше switch() на кнопки мыша и по СКМ вызывается ф-ция sbOnOFF(), ВКЛ\ВЫКЛ расширение ............ function sbOnOFF() { AddonManager.getAddonByID('SilentBlock@schuzak.jp', function (addon) { if ( addon.isActive ) { addon.userDisabled = true; } else { addon.userDisabled = false; } toggleImage(); }); }; // иконка красиццо: если расш-е ВЫКЛючено, то иконка серая, ВКЛ - норм. function toggleImage() { AddonManager.getAddonByID('SilentBlock@schuzak.jp', function (addon) { addon.isActive ? self.style.filter = 'none' : self.style.filter = 'sepia(1)'; }); };
даже наверное так:
function sbOnOFF() { AddonManager.getAddonByID('SilentBlock@schuzak.jp', function (addon) { if ( addon.isActive ) { addon.userDisabled = true; toggleImage("of");} else { addon.userDisabled = false; toggleImage("on"); } }); }; // иконка красиццо: если расш-е ВЫКЛючено, то иконка серая, ВКЛ - норм. function toggleImage(q) { if(!q) { AddonManager.getAddonByID('SilentBlock@schuzak.jp', function (addon) { addon.isActive ? self.style.filter = 'none' : self.style.filter = 'sepia(1)'; }); } else { switch(q) { case "on": self.style.filter = 'none'; break; case "of": self.style.filter = 'sepia(1)'; break; } } };
можна отдельно вызывать при старте бравзера, для проверки состояния расш-я. и при вкл\выкл не будет два раза getAddons() дергаться.
Отредактировано mokujin (28-02-2020 23:18:33)
...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation
Отсутствует
Тоже так хочу, интересно для 73 есть рабочая, в смысле только надписи сократить?
В виде кнопки не попадалась, про этот вариант;
Win7
Отсутствует
заманало без переноса
На такой случай предусмотрен переключатель (для каждой вкладки отдельно).
Открываешь CB-редактор, ставишь фокус в область кода и жмёшь Ctrl+W
Если в настойках CB не отмечен чекбокс
«Сохранять размеры и позицию окон редактора отдельно для каждой кнопки»,
тогда применяется ко всем кнопкам, иначе, соответственно, отдельно для каждой кнопки.
Стилем тоже можно (нужен «агент Шифт»),
но тогда перестанет из консоли открываться правильная строка.
Отсутствует
про этот вариант;
скрытый текст
https://forum.mozilla-russia.org/viewto … 93#p775193вы наверняка в курсе
Ну да, его и использую, но он переносит FindBar вверх, надпись то не сокращает.
Отредактировано voqabuhe (29-02-2020 01:27:05)
Отсутствует
Dumby насчёт переноса слов, а может можно добавить кнопку или чебокс для разового переключения где нибудь в окне редактора, например в конце строки, там где вкладки? Если использовать Custom Buttons: Source Editor, то CTRL+W не работает.
Отредактировано Andrey_Krropotkin (29-02-2020 09:15:31)
Отсутствует
Dumby
Стилем тоже можно (нужен «агент Шифт»),
но тогда перестанет из консоли открываться правильная строка.
Конкретнее. Куда код? Еще этот удалено агент...Да, черт с ним CTRL+W - норм.
Вот код , как смену иконки присобачить? А, то тут такое фуфло советуют ...Ну на клик то запросто , но сути это не отражает , конкретно надо ...
Отсутствует
Есть еще креативные юзеры? toggleImage на этот код?
/*CODE*/
var id = "{6acd0f4d-ab79-4b79-9b28-8bde65ae355c}";
AddonManager.getAddonByID(id).then(
addon => addon[
addon.userDisabled ? "enable" : "disable"
]({allowSystemAddons: true}),
Cu.reportError
);
Да, и есть ли здесь лажа? "Включить аддон после выхода"
Отредактировано solombala (29-02-2020 14:08:43)
Отсутствует
как смену иконки присобачить? А, то тут такое фуфло советуют ...Ну на клик то запросто , но сути это не отражает , конкретно надо ...
Что-то я неуверен. Есть какое-то расхождение между
about:addons и аддон-менеджером. Страница запоминает
операцию удаления и не сбрасывает, если при этом аддон установить.
Но так-то, вроде должно работать, в основном.
(async id => { var data = { Enabled: "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==", Disabled: "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==", Installing: "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ==", Uninstalled: "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==", Uninstalling: "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==" }; data.Installed = data.OperationCancelled = null; var toggleImage = (key, addon) => { if (addon && addon.id != id) return; if (!key || data[key] == null) { if (!addon) key = "Uninstalled"; else if (addon.pendingOperations & AddonManager.PENDING_UNINSTALL) key = "Uninstalling" else if (addon.pendingOperations & AddonManager.PENDING_INSTALL) key = "Installing"; else key = addon.isActive ? "Enabled" : "Disabled"; } this.icon.src = data[key]; } var listener = {}; for(var key of Object.keys(data)) listener["on" + key] = toggleImage.bind(null, key) AddonManager.addAddonListener(listener); addDestructor(() => AddonManager.removeAddonListener(listener)); toggleImage(null, await AddonManager.getAddonByID(id)); })("{6acd0f4d-ab79-4b79-9b28-8bde65ae355c}");
Отсутствует
Dumby
Пока шикардос . Подставлю код на "Вкл" после выхода , проверю. Код то не лажовый ? См.выше. И еще :
this.tooltipText = ???? Не могу понять , как какое действие?
this.tooltipText = (key, addon) ? '???????' : '???????'; Черт знает как и куда?
Да, мой код -лажа, работает но некорректно... Может, наоборот? Запуск с вкл. аддон ? А это - не того...
((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] = { ids: [ "{6acd0f4d-ab79-4b79-9b28-8bde65ae355c}", ], filter(addon) { if ( this.ids.includes(addon.id) && !addon.userEnabled && addon.type.endsWith("extension") && addon.location.name != "app-builtin" ) { addon.active = addon.location.get(addon.id).enabled = true; return addon.userEnabled = 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); })( "CBQuitApplicationExtensionsDisabler", Cu.import("resource://gre/modules/addons/XPIDatabase.jsm", {}) );
Отредактировано solombala (02-03-2020 10:00:51)
Отсутствует
Приветствую стойкие , помогите в 73+ избавиться от прокрутки (scrollbar,scrollbox) в :
chrome://browser/content/downloads/contentAreaDownloadsView.xhtml
chrome://browser/content/places/bookmarksSidebar.xhtml
chrome://browser/content/places/historySidebar.xhtml
т.е. для Закачек, Букмарков, Истории
Через css не решается, точнее решалось в далеком 63-64:
https://forum.mozilla-russia.org/viewtopic.php?pid=764923#p764923
и даже в после 64го я ему вешал листенер на аттрибут disabled:true и работало вроде,
сейчас не выходит каменный цветок, место жрет, а мелкий scrollbar если поставить не видно на сайтах
Отсутствует
this.tooltipText = ???? Не могу понять , как какое действие?
Здесь тебе проще всего сделать так:
создай рядом с объектом data точно такой же объект tooltips
только вместо иконок там пропиши тексты тултипов.
И, далее, рядом с this.icon.src = data[key];
добавь this.tooltipText = tooltips[key];
А это - не того
Потому что нет такого — addon.userEnabled
filter(addon) { if ( this.ids.includes(addon.id) && addon.userDisabled && addon.type.endsWith("extension") && addon.location.name != "app-builtin" ) { addon.userDisabled = false; return addon.active = addon.location.get(addon.id).enabled = true; } },
Через css не решается
Ну незнаю, я попробовал для этих адресов, и никаких скроллбаров не вижу.
Возможно стоит обратно заглянуть, может что-нибудь лучше подскажут.
@-moz-document url(chrome://browser/content/places/historySidebar.xhtml), url(chrome://browser/content/places/bookmarksSidebar.xhtml) { scrollbar { display: none !important; } } @-moz-document url(chrome://browser/content/downloads/contentAreaDownloadsView.xhtml) { #downloadsRichListBox { scrollbar-width: none !important; } }
Отсутствует
Dumby
Потому что нет такого — addon.userEnabled
С Tooltips все как надо ...А вот кодом , короче он бьет по другим - на выкл. аддоны.
((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] = { ids: [ "@hoxx-vpn", "vkomforte-we@vkomforte", ], filter(addon) { if ( this.ids.includes(addon.id) && !addon.userDisabled && addon.type.endsWith("extension") && addon.location.name != "app-builtin" ) { addon.active = addon.location.get(addon.id).enabled = false; return addon.userDisabled = 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); })( "CBQuitApplicationExtensionsDisabler", Cu.import("resource://gre/modules/addons/XPIDatabase.jsm", {}) );
Отсутствует
solombala
Давай может лучше вместо тех — другой, единый,
и там уже прописать, какие выключать, а какие включать.
((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: { "addon_to@disable": true, "{ae3cc3e4-1091-48d0-91e0-446601bc2e22}": true, "addon_to@enable": false, "@hoxx-vpn": false, "vkomforte-we@vkomforte": false, }, 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", {}) );
Отсутствует