Dumby
Добавка поискрвиков чнрез кнопку можете посмотреть? Если нет ,то как свои без кноки поставить?
//Services.search.addEngine("data:text/xml," + encodeURIComponent(` (Services.search.addOpenSearchEngine || Services.search.addEngine)("data:text/xml," + encodeURIComponent(` <SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"> <ShortName>Seasonvar.ru</ShortName> <Description>Сериалы ТУТ! Сериалы онлайн смотреть бесплатно. Смотреть онлайн.</Description> <InputEncoding>UTF-8</InputEncoding> <Image width="16" height="16">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADvklEQVRYhb1XTYgcRRR+JtNVr0ail0gUPLkehBwEVwgakMHNdr1XKwQ8RFQwF39uOXnxtkIwieAhetWLeoh7VVBE3IPgYY1gCIFA0OzOdL0aMYoH4y5xZsrDdjUzk91sz8BsQTFU09Pfz3uvXhXAjEax2FjoWP34MsCBWWHsDm7VKWGMwrh+7SiofScQnAlC+j9xeHvfwQvSbwnpO4FxIKTveKs+2TcXCsKF4EwMjINqOhODM1Fs9tRMwX9fgCPCGIX0oLvUjNV0ZhCciZ7wh5stwJkR6OTq1aR+hMBSs3LEW/3tzAh4q04OExj+DYwDYYxi8fWZgLcXG7kwbg6rT2S2y1H3hPRXMwEHABBnLgeH/cA46DozSLEvc+LrmQGn4UlfGY99cuD6cTg0U/B23nhOGO9OvtKB4PD7iT/qc/PsXu8I45vC2E3gaQ470HVmIKT/XgE4WAt4I89OF6S2PKnPA+ON3xbgyPg7geGhwPidMMauM4NU5+Oll1zwpLc6z4Cpp5zwlif9MwDAagsaweEXI6pz9YQn1R9Rm5Juh7ldBbp3JYf7axEorLoa2HwEALACcLCwahMA7gMA2DiBjw3bvRvoeAg84a3aIbg8D9ly2b9XW9DwrP8FAFi38Ig47EsqtaGNZjflVRISnq4FPj6uH4dDnvESAIA4c7FUFMO9Yj629QpjmAocAKCTq/eFtF0GODCJ9SkptxuQvjg1AWGMNxgeEMazeyneKfbBmbg+bQsubPakt7oLACCEa7XVjzlwswUPT6ee8LOCcAEAILCRWolXKq+2YWeitODw5ODz0PSkN9M6LDX/qhuC6gRUdsGC4dEp1OszwmatWrP5sxaBdPKx+K6w7gVnYnsxe3oKAihC+oO09ozFXvYPh6G92MiFUIQxetZvTwTeZj3nScci1y8MEVqrcuAeTlSll6uXOqReFMZYkFqZiMC2fRglz+bTs8KqT9PH99r3gzOxsOoUAIA4vO1J/zIZAdIfCmP0uV5Mzzp5dqzqfLspT1sv6UEnz44BAHjGS5701kQEpLTO8+jptTxY9HcsvSo/TN9b9U/6T5vUy9v3AfXKZC6w/rK81/306wl4sHTm4+FsHwF3JnaXTF8YY/t5mFttQWO5bGjCGAurrso8NKHsqjWd0Gc84x/pRBsc9kZuPCknqqOX7gVnup5xQxi3POGPJfFvSjEjeVVrXDsKqs16zlt1smOzN4TUO8J41hOe86wveNYXvFXnPalzBeF7aXqL54s8q1qwkLaFzV5Lbo6P/wEF7JeDr5SEggAAAABJRU5ErkJggg==</Image> <Url type="text/html" method="GET" template="http://seasonvar.ru/search"> <Param name="q" value="{searchTerms}"/> </Url> <SearchForm>http://seasonvar.ru/</SearchForm> </SearchPlugin> `), null, null);
Отсутствует
Добавка поискрвиков чнрез кнопку можете посмотреть?
Могу. Запустил код на 87.0a1 — поисковик добавился.
Перезапустил браузер — поисковик никуда не исчез.
Так что всё работает.
Или вот ещё, взял (от балды) поисковик, из встроеных в лису,
заменил https на http (просто чтобы проверить встанет или нет).
И, вполне себе установился.
Services.search.addPolicyEngine({ iconURL: "data:image/x-icon;base64,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", chrome_settings_overrides: { search_provider: { name: "Ecosia", search_url: "http://www.ecosia.org/search", search_form: "http://www.ecosia.org/", search_url_get_params: "tt=mzl&q={searchTerms}", suggest_url: "https://ac.ecosia.org/autocomplete", suggest_url_get_params: "type=list&q={searchTerms}" } } });
Если нет ,то как свои без кноки поставить?
Что значит «без кноки»? Это установочный код, предназначен быть исполненным один раз.
Из кнопки, или любым другим доступным способом, например с Консоли браузера.
И что значит «свои поставить»? А как вообще люди у себя в лисе поисковики разводят?
Может кто-то редактирует search.json.mozlz4. На ESR кто-то может через тот же policies.json
И, как-бы, в браузере есть встроенная система добавления, ну и, наверняка, для этого
должны существовать WebExtensions, как чисто-поисковики как таковые, так и развесистые,
специально предназначеные для их добавления и какого-то управления.
Короче, странный какой-то вопрос.
Отсутствует
Dumby
Я итак замучался этим 85 , эта дебильна панель закладок .еле уделал. Короче как самому добавлять поисковик? Вот код в кнопку СВ или в скрипт можно
//Services.search.addEngine("data:text/xml," + encodeURIComponent(` (Services.search.addOpenSearchEngine || Services.search.addEngine)("data:text/xml," + encodeURIComponent(` <SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"> <ShortName>HDRezka-ag</ShortName> <InputEncoding>UTF-8</InputEncoding> <Image width="16" height="16">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMCAYAAAADFL+5AAADxUlEQVR42sVUaUiUURR9M86oiUgLKIEWTomlZAaFWKLmkJBjpqI2uZCiiTu4ZwtjY5iiqDguKO6GBjZqof6wxEkTF1osUChntFQ0MwO1zHGbzpP56ssf4b8eXOZ+99333rnnnjscQsgemCQ0NPSUgYHBQktLi2Z6eroBsXbyZxnA7ri6up62tbX9PDAwsKenp0eBWBHsHGK37Ozsfq6srCyurq7y9PX1uXw+n4M97vLy8rpSqfyuUqneLS0tNSP2hXUvoUlny8rK2sLDw/fRwNraGnF0dHw4ODh4lZV3XCwWv2hsbNzPBBITE1/m5eVdCAwMvFlfX59MdrFGRkZISUmJApaAzzcMANu6urpHQUFBR2gAFRAnJ6d7Q0NDd1hn+V5eXn3Nzc1naApMPzk5uSs3N/dSVFRUanFxsYRJHBsbU+fn5/eDkY8CgWCvWq0WWFpa2piZmf2+rKqqSg3G7SkICuBkYWGhPDY2lgLQzMzMEFD6YH5+PgPfGzA9mImbm5usvb39BAMAD3eVlpaK/P39U6urq+/q6upuX56VlTWalpbmDneCVYBnU1NTvY+PjyH8Ldoaa2vrutHR0WsUgE1RUZE8Ojr66G5o1ILiIf8ZqHQPCAhIqa2tlero6Ggoo/CVwcHBFMB7toZQ8dOKioqz8NW0qLi4OIVMJju/3QI48piYGAFlQNsWAsEQIyOj7dObm5sEDzCXrcF0AaALAEQAcAMMpEN025s1NTWfQkJCvOG+ppXSio2Njfd5eno2QWtC5nx8fLyioKBAuBPA1uzsLMfBwaF1fHw8h0mGmaGq+3iI5vykk4OWdYE5EUR4A4+mMwxUVlaOhYWFXYSvYjFwMCkp6XlOTo4Fcyc01dLa2uq9swVbc3NzHHt7+4yJiQkJ6wLi7Ow80N3dbQd3hVIaERHxDBW5QQMUgFTLgAYCVCUkJIjhv9IePYXqpRhvd+YujCWxsLCIgyujAM5A3Y+A6BCTIBKJKk1NTa+Xl5drtCHLyMjITlBOczZhOlKpVCGRSDxSsLKzs2+zwfb19S2hfd8NDQ0PmJub67H3JicnCUb6SX9//2VmDIVQbWdmZibtFxkeHiZ+fn6PMU5XtIKhy0ooFL5ua2vTw58MWVxcJJgCZUNDgzNGNg3Aoq2srP6p3KmpKdLR0TEJ5grwmc/EOdpfL2wcMzEx+YF2qBcWFroR+8A6z6Oj5OHhcdzFxeWbXC7n9/b2DiOmgB1GlWJfX98NAFvGHxlnfX2dw+VyNTwejwMx07Z+Rf7bHbr4C8B/W78AXEWcHlto5ucAAAAASUVORK5CYII=</Image> <Url type="text/html" method="GET" template="https://hdrezka-ag.com/index.php?do=search"> <Param name="subaction" value="search"/> <Param name="q" value="{searchTerms}"/> </Url> <SearchForm>https://hdrezka-ag.com</SearchForm> </SearchPlugin> `), null, null);
И он работает , но в search-extensions как , если по старому в модуле рихтую SearchService.jsm и мои поисковики в search-extensions становятся , код в кнопке падает...
Добавил бы в search-extensions , но seasonvar через http , где бы разрешить? Может код подправить верхний?
Отредактировано solombala (30-01-2021 17:58:13)
Отсутствует
Добавил бы в search-extensions , но seasonvar через http , где бы разрешить?
%Папка_установки%\browser\omni.ja\chrome\browser\content\browser\schemas\chrome_settings_overrides.json
Поиск:
Во всех трёх найденых вхождениях добавляем вопросительный знак после https
Чтобы получилось так:
Отредактировано Dumby (30-01-2021 19:15:57)
Отсутствует
Dumby
Класс , все получилось...Благадао,брате! Хвала! ...В кнопке скриншот - иконку веб-сайта не того (не сохраняет), може мой косяк? Да черт сним, много чего не сохраняет(png и т.д)
Не помню, чья эта кнопка "скиншот" ? Есть продвинуты ,может кто рихтанет ?
Отредактировано solombala (31-01-2021 12:22:16)
Отсутствует
Добрый день, нужна кнопка которая бы копировала HTML содержимое текущей страницы в буфер обмена, при этом всё это должно быть с динамическим содержимым, то есть обычное "Исходный код страницы не подойдёт".
То есть не ctrl + u, а как-то через инспектора (F12)/ Выбрать <html></html> и как-то это скопировать, но вроде очень сложная задача.
Отредактировано melkichelik (31-01-2021 11:20:49)
Отсутствует
Не ставится CustomButtons - ошибка: Firefox заблокировал установку непроверенного расширения.
Ставил на Firefox 78.7 esr и 84.0.2, пробовал разные версии, например custom_buttons-0.0.7.0.0.17-fx-paxmod и bootstrap...
Добавлял config.js из разных инструкций, результат тот же - CustomButtons не ставится.
// try {(nsvo => { var o = Cu.getGlobalForObject(nsvo).Object, {freeze} = o; o.freeze = obj => { if (Components.stack.caller.filename != "resource://gre/modules/AppConstants.jsm") return freeze(obj); obj.MOZ_REQUIRE_SIGNING = false; obj.MOZ_ALLOW_LEGACY_EXTENSIONS = true; return (o.freeze = freeze)(obj); } lockPref("extensions.legacy.enabled", true); lockPref("xpinstall.signatures.required", false); lockPref("extensions.langpacks.signatures.required", false); nsvo = Cu.import("resource://gre/modules/addons/XPIInstall.jsm", {}); var shouldVerify = nsvo.shouldVerifySignedState; nsvo.shouldVerifySignedState = addon => !addon.id && shouldVerify(addon); })(Cu.import("resource://gre/modules/WebRequestCommon.jsm", {}));} catch(ex) {Cu.reportError(ex);} // try {({ ids: [ "custombuttons@xsms.org", ], init(xrt) { if (xrt.inSafeMode) return; Cu.import("resource://gre/modules/addons/XPIProvider.jsm", this); var load = async file => { var rootURI = this.XPIInternal.getURIForResourceInFile(file, ""); Cu.import(rootURI.resolve("startup.jsm"), {}).start(rootURI); } var proto = this.XPIInternal.BootstrapScope.prototype; var func = proto._beforeCallBootstrapMethod; proto._beforeCallBootstrapMethod = () => { proto._beforeCallBootstrapMethod = func; for(var addon of this.XPIInternal.XPIStates.enabledAddons()) this.ids.includes(addon.id) && !addon.loader && load(addon.file); } } }).init(Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime));} catch(ex) {Cu.reportError(ex);}
Отредактировано Dobrov (01-02-2021 12:06:58)
Отсутствует
Ставил на Firefox Setup 78.7 esr, 84.0.2
Для этих версий антиподписячья (первая) часть приведённого кода старовата.
Не содержит правок для
Firefox 74+ Bug 1524327 - reconsider MOZ_ALLOW_LEGACY_EXTENSIONS behavior
Firefox 77+ Bug 1631933 - Remove or revisit support for data:-URLs in the webRequest API
Ладно, ещё раз
// try {(nsvo => { var o = Cu.getGlobalForObject(nsvo).Object, {freeze} = o, NEW; o.freeze = obj => { if (Components.stack.caller.filename != "resource://gre/modules/AppConstants.jsm") return freeze(obj); obj.MOZ_REQUIRE_SIGNING = false; if ((NEW = "MOZ_ALLOW_ADDON_SIDELOAD" in obj)) lockPref("extensions.experiments.enabled", true); else obj.MOZ_ALLOW_LEGACY_EXTENSIONS = true, lockPref("extensions.legacy.enabled", true); return (o.freeze = freeze)(obj); } lockPref("xpinstall.signatures.required", false); lockPref("extensions.langpacks.signatures.required", false); nsvo = Cu.import("resource://gre/modules/addons/XPIInstall.jsm", {}); var shouldVerify = nsvo.shouldVerifySignedState; nsvo.shouldVerifySignedState = addon => !addon.id && shouldVerify(addon); if (NEW) nsvo.XPIDatabase.isDisabledLegacy = () => false; })( "permitCPOWsInScope" in Cu ? Cu.import("resource://gre/modules/WebRequestCommon.jsm", {}) : Cu );} catch(ex) {Cu.reportError(ex);}
но вроде очень сложная задача
Зависит от задачи. Описание совсем непонятным не назовёшь, тем не менее, весьма скудное.
Вот набросал кой-что, а какая подходящьность — без понятия.
(this.mcopy || (this.mcopy = (() => { var copy = win => win.navigator.clipboard .writeText(new XMLSerializer().serializeToString(win.document)); var func = (copy, id) => copy( Cc["@mozilla.org/appshell/window-mediator;1"] .getService(Ci.nsIWindowMediator) .getOuterWindowWithId(id) ); var url = "data:charset=utf-8," + encodeURIComponent(`(${func})(${copy}, `); return () => { if (gBrowser.selectedBrowser.isRemoteBrowser) { var pmm, {osPid, outerWindowId} = Services.focus .focusedContentBrowsingContext.currentWindowGlobal; for(var ind = 1, num = Services.ppmm.childCount; ind < num; ind++) { var child = Services.ppmm.getChildAt(ind); if (child.osPid == osPid) {pmm = child; break;} } return pmm?.loadProcessScript(url + outerWindowId + ");", false); } var data = {}; Services.focus.getFocusedElementForWindow(content, true, data); copy(data.value); } })()))();
Отсутствует
Dumby
Спасибо за скрипт, как я понимаю это не для https://github.com/VitaliyVstyle/Vitali … rome_files, или я ошибаюсь? Просто до этого все кнопки пытался делать через него обновляя custom_script.js. Буду разбираться.
Изначально думал, что это будет что-то типо, этот код показывает код если в консоли вверсти.
var html = document.documentElement.innerHTML; var ndoc = window.open("",""); ndoc.document.write('<xmp>', html, '</xmp>');
И кнопка должна быть типо.
try {
CustomizableUI.createWidget({
id: "ucf-view-source",
label: "Код",
tooltiptext: "Исходный код страницы",
localized: false,
defaultArea: CustomizableUI.AREA_NAVBAR,
onCreated(btn) {
btn.setAttribute("image", "data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><g><rect x='0' y='0' width='16' height='16' rx='1' ry='1' style='fill:rgb(0, 120, 173);'/><path style='fill:white;' d='M 9.32,1 5.82,14.8 6.68,15 10.2,1.22 Z M 4.72,3.62 1,8 4.72,12.4 6.25,11.7 3.04,8 6.25,4.25 Z M 11.3,3.62 9.75,4.25 12.9,8 9.75,11.7 11.3,12.4 15,8 Z'/></g></svg>");
},
onCommand(e) {
var html = document.documentElement.innerHTML;
var win = e.view;
win.document.write('<xmp>', html, '</xmp>');
}
});
} catch(e) {}
Но видимо всё сложнее...
Отредактировано melkichelik (01-02-2021 16:30:10)
Отсутствует
как я понимаю это не для
Ага, зашёл в тему конкретного расширения,
а о том, что код нужен для ucf ни словом не обмолвился.
Тут и понимать нечего.
И кнопка должна быть типо.
Ну, можно попробовать какой-нибудь микс составить, такого же статуса подходящности.
try {CustomizableUI.createWidget({ id: "ucf-view-source", label: "Код", tooltiptext: "Serialized document", localized: false, defaultArea: CustomizableUI.AREA_NAVBAR, onCreated(btn) { btn.creator = this; btn.setAttribute("oncommand", "creator.start(event)"); btn.setAttribute("image", "data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><g><rect x='0' y='0' width='16' height='16' rx='1' ry='1' style='fill:rgb(0, 120, 173);'/><path style='fill:white;' d='M 9.32,1 5.82,14.8 6.68,15 10.2,1.22 Z M 4.72,3.62 1,8 4.72,12.4 6.25,11.7 3.04,8 6.25,4.25 Z M 11.3,3.62 9.75,4.25 12.9,8 9.75,11.7 11.3,12.4 15,8 Z'/></g></svg>"); }, observe(s, topic) { Services.ppmm.removeMessageListener(this.msgName, this); Services.obs.removeObserver(this, topic); }, addTab(win, src, type) { var url = `view-source:data:${type};charset=utf-8,${encodeURIComponent(src)}`; var gb = win.gBrowser, pos = gb.selectedTab._tPos; gb.moveTabTo(gb.selectedTab = gb.addTrustedTab(url), pos + 1); }, receiveMessage(msg) { this.addTab(Services.wm.getMostRecentWindow("navigator:browser"), ...msg.data); }, start(e) { Services.ppmm.addMessageListener(this.msgName = "UCF:VS:SerializedDocArrived", this); Services.obs.addObserver(this, "quit-application-granted", false); var func = (serialize, id) => { var win = Cc["@mozilla.org/appshell/window-mediator;1"] .getService(Ci.nsIWindowMediator).getOuterWindowWithId(id); win && sendAsyncMessage("NAME", serialize(win)); } var serialize = (win, doc = win.document) => [ new win.XMLSerializer().serializeToString(doc), win.HTMLHtmlElement.isInstance(doc.documentElement) ? "text/html" : doc.contentType ]; var url = "data:charset=utf-8," + encodeURIComponent( `(${func})(${serialize}, `.replace("NAME", this.msgName) ); (this.start = e => { var win = e.view, br = win.gBrowser.selectedBrowser; if (br.isRemoteBrowser) { var pmm, {osPid, outerWindowId} = Services.focus .focusedContentBrowsingContext.currentWindowGlobal; for(var ind = 1, num = Services.ppmm.childCount; ind < num; ind++) { var child = Services.ppmm.getChildAt(ind); if (child.osPid == osPid) {pmm = child; break;} } return pmm?.loadProcessScript(url + outerWindowId + ");", false); } var data = {}; Services.focus.getFocusedElementForWindow(br.contentWindow, true, data); this.addTab(win, ...serialize(data.value)); })(e); } });} catch(ex) {Cu.reportError(ex);}
Отсутствует
Ага, зашёл в тему конкретного расширения,
а о том, что код нужен для ucf ни словом не обмолвился.
Не знал, открыл 1-е сообщение в теме, там все ссылки битые, думал, что тема общая для создания "Custom Buttons", буду знать.
Вот это получается самая актуальная? https://forum.mozilla-russia.org/viewtopic.php?pid=787753#p787753
Как я понимаю официально в магазине её нету?
Спасибо за код, буду смотреть.
Отредактировано melkichelik (01-02-2021 21:03:49)
Отсутствует
Можно ли создать кнопку, эмулирующую нажатие мультимедийной клавиши "Стоп/Воспроизведение", которой нас одарил новый?
Отсутствует
Dumby
Как в этот код
/*Initialization Code*/ this.onclick = this.oncontextmenu = function(event) { if (event.button == 0) { var file = Services.dirsvc.get('ProfD', Ci.nsIFile); file.initWithPath(file.path + "\\memred\\start.vbs"); file.launch(); } if(event.button == 2 && !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey){ CustomizableUI.setToolbarVisibility("PersonalToolbar", document.querySelector("#PersonalToolbar").collapsed); } }; this.oncontextmenu =e=> { e.button && !e.ctrlKey && e.preventDefault() }; this.tooltipText = "Л: Очистка-Сброс\nП: Панель Закладок "; (ps => { var s = "media.autoplay.default"; this._handleClick = () => ps.setIntPref(s, ps.getIntPref(s, 0) ? 5 : 5); })(Services.prefs);
еще вставить это
this._handleClick = () => ps.setIntPref(s, ps.getIntPref(s, 350) ? 0 : 350);
Ладно,вроде справился. А паузу сюда можно поставить? "setTimeout(()=> alertsService.closeAlert(), 2000);"
Отредактировано solombala (04-02-2021 20:08:59)
Отсутствует
del
Отредактировано egorsemenov06 (06-02-2021 20:53:31)
Отсутствует
egorsemenov06
ну уж скриншотеры-то в 21году 21 века уж можно как-нибудь найти программки-то
Image Uploader, KiberInfinity's Screen Shooter
а вот эмулировать нажатие мультимедийной клавиши "Стоп/Воспроизведение"- это находиться в самых передовых областях технологий
Отсутствует
egorsemenov06
ну уж скриншотеры-то в 21году 21 века уж можно как-нибудь найти программки-то
Image Uploader, KiberInfinity's Screen Shooterа вот эмулировать нажатие мультимедийной клавиши "Стоп/Воспроизведение"- это находиться в самых передовых областях технологий
Кому что,на вкус и цвет товарищей нет .Кнопка то очень практичная а расширение ставить или целую программу зачем ?только систему засирать
Отсутствует
Кому что,на вкус и цвет товарищей нет .Кнопка то очень практичная а расширение ставить или целую программу зачем ?только систему засирать
Можно в портабельном виде поставить.
Отсутствует
эмулировать нажатие мультимедийной клавиши "Стоп/Воспроизведение"- это находиться в самых передовых областях технологий
a какой клавиши? я не знаю что там придумали, я на ЕСР сижу, меня интересует что они намудрили и что надо будет править в следующем ЕСР. а то у меня куча клавиатур на разных устройствах, соответственно разные клавиши управления мультимедиа и разные коды нажатия этих клавиш. можно ли в КастомБаттонс эмулировать нажатие Fn+Ё или Fn+F5/F6?
Отредактировано sonyas75 (06-02-2021 11:19:24)
Отсутствует
Dumby
Не посмотришь фичу, никак не у кого....
https://forum.mozilla-russia.org/viewto … 66#p787966
Отсутствует
Можно ли создать кнопку, эмулирующую нажатие мультимедийной клавиши "Стоп/Воспроизведение"
Вот у меня на клавиатуре нет таких аппаратных клавиш,
и гарнитуры нет, и вообще Windows 7
Ну, попробовал что-то сделать в виртуалке, но без толку.
SendInput через ctypes — не сработало, есть ещё какой-то
MediaControlService.generateMediaControlKey() — ноль реакции (настройку включал).
Тут под новый год завёл себе AHK, просто чтобы парочку клавиш переопределить,
так вот, подумал, может хотя-бы его подрядить — и снова неудача,
то есть, я даже не смог увидеть как бы оно могло бы работать вообще, какая уж там эмуляция.
Не посмотришь фичу, никак не у кого....
https://forum.mozilla-russia.org/viewto … 66#p787966
Смотреть надо тебе, на свой же скриншот, ноды-то красные.
Две последние (popupgroup и tooltip) чуть с синевой — это вообще NAC.
А остальные, чисто красные, — это Shadow DOM.
Их добавляет лисья машинерия кустомэлементщины,
это так в любом <dialog>'е будет, и они этому диалогу ни разу не потомки.
Чем @-moz-document не угодил?
Вот, селектор, наверно, чемодан излишеств, так, просто для примера
@-moz-document url-prefix(chrome://custombuttons/content/editor.xul) { link[href="chrome://global/skin/dialog.css"] + vbox + hbox.dialog-button-box { background-color: red !important; } }
Отсутствует
Dumby
А так тоже пошло.Кстати, а в сам XPI CВ нельзя вставить?
@-moz-document url-prefix(chrome://custombuttons/content/editor.xul) { .dialog-button-box { margin-bottom: 4px !important; padding: 3px!important; margin-top: 22px !important; } }
Отсутствует
Кстати, а в сам XPI CВ нельзя вставить?
Если имеется в виду добавить в какой-нибудь .css-файл,
то сильно сомневаюсь, там всё круго́м AUTHOR_SHEET.
А если в .js-файл, то и сам знаешь что можно.
Примеров загрузки стилей на форуме несметное множество.
Если не как загрузку, то можно в editor2.js
что-нибудь добавить в Editor.prototype.init()
Например, получаем ссылку на .dialog-button-box
и устанавливаем ему атрибут "style", или сеттер ref.style.cssText
Или, там же, можно воткнуть правило прямо в ShadowRoot,
типа на борту созданного элемента <style>, возможно <link>,
или, вообще даже так
... var [ss] = document.documentElement.shadowRoot.styleSheets; ss.insertRule( `.dialog-button-box { margin-bottom: 4px !important; padding: 3px !important; margin-top: 22px !important; }`, ss.cssRules.length );
Отсутствует
Первый раз в жизни установил custom_buttons-0.0.7.0.0.17-fx-paxmod.xpi из №15124. До сего дня не имел с ним дел.
Попробовал несколько готовых кнопок из Готовые кнопки для Custom Buttons, но ни одна не заработала.
Где-то можно взять актуальные коды (для 85)? Или как самому писать - мануалы есть?
Как например сделать кнопку прокрутки вверх?
Отсутствует
Как например сделать кнопку прокрутки вверх?
add_toolbar_buttons.2021.1.25.xpi
но ни одна не заработала
Могу предложить пургуру
[CB]Undo Close Tabs | Форум Mozilla Россия
[CB]Двойным левым кликом добавить закладку в папку закладок. | Форум Mozilla Россия
Отредактировано vending_machine (07-02-2021 23:21:49)
Отсутствует