Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№67624-03-2023 11:33:28

unter_officer
Участник
 
Группа: Members
Откуда: Санкт-Петербург
Зарегистрирован: 27-03-2011
Сообщений: 621
UA: Firefox 112.0

Re: UCF - ваши кнопки, скрипты…

Dumby
Большое спасибо.


«The Truth Is Out There»

Отсутствует

 

№67725-03-2023 09:48:22

b0ttle
Участник
 
Группа: Members
Зарегистрирован: 22-10-2020
Сообщений: 182
UA: Firefox 111.0

Re: UCF - ваши кнопки, скрипты…

Можно реанимировать?

скрытый текст

Выделить код

Код:

// https://web.archive.org/web/20211130053336/https://forum.mozilla-russia.org/viewtopic.php?pid=785023#p785023 ...
try {(() => {
    var id = "ucf-aom-button",
    label = "Дополнения",
    tooltiptext = "ЛКМ: Меню дополнений\nСКМ: Отладка дополнений\nПКМ: Открыть менеджер дополнений",
    img="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAt0lEQVR42mP4//8/AzK269D+zxDPAMYgNro8OsYUsGf4L5IrAMYgNskGPHrzkAHmAhCbZAPAglFAA6II2w5WC/ZzGEQDDMO9gCQGUmNYr4dhKANPBgdcAyEMMgSrAWA/R0H8jdcALN5iQHYWLABJMgBbABJjACiKweFHigHwgIW6Eux1UryA1QD0QISzsQQqVi+gKEBLfeguwhqIBEM5ihQD4rEoQHaBLwEDQOGBHKggNiyl4sreAEpLK4gRQN5TAAAAAElFTkSuQmCC",
    //img = "data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' height='16' width='16' viewBox='0 0 48 48'><g><rect x='0' y='0' width='48' height='48' rx='3' ry='3' style='fill:rgb(0, 120, 173);'/><path style='opacity:0.25;fill:black;' d='M 24,4.5 18,12 3,23.7 12,32.7 3.9,44.1 7.8,48 H 45 C 46.7,48 48,46.7 48,45 V 26.1 L 34.8,12.9 31.8,12.3 Z'/><path style='fill:white;' d='M 19.88,3 C 16.93,3 14.55,4.662 14.55,6.701 14.63,7.474 15.11,8.438 15.37,8.762 16.59,10.41 16.59,11.44 16.29,12.06 H 6.299 C 4.476,12.06 3,13.53 3,15.35 V 23.68 C 3.625,24 4.65,24 6.299,22.77 6.625,22.52 7.587,22.02 8.363,21.94 10.4,21.94 12.06,24.35 12.06,27.29 12.06,30.24 10.4,32.65 8.363,32.65 7.725,32.63 6.774,32.07 6.299,31.82 4.65,30.59 3.625,30.59 3,30.91 V 41.71 C 3,43.53 4.476,45 6.299,45 H 19.58 C 19.88,44.38 19.88,43.35 18.65,41.71 18.4,41.38 17.91,40.42 17.82,39.65 17.82,37.6 20.23,35.94 23.18,35.94 26.14,35.94 28.55,37.6 28.55,39.65 28.53,40.28 27.97,41.23 27.71,41.71 26.47,43.35 26.47,44.38 26.79,45 H 32.65 C 34.47,45 35.96,43.53 35.96,41.71 V 32.55 C 36.56,32.23 37.59,32.23 39.23,33.47 39.72,33.73 40.68,34.29 41.29,34.29 43.35,34.29 45,31.91 45,28.94 45,25.99 43.35,23.59 41.29,23.59 40.54,23.67 39.58,24.17 39.23,24.41 37.59,25.65 36.56,25.65 35.96,25.33 V 15.35 C 35.96,13.53 34.47,12.06 32.65,12.06 H 23.49 C 23.19,11.44 23.19,10.41 24.41,8.762 24.66,8.287 25.22,7.337 25.23,6.713 25.23,4.662 22.85,3 19.88,3' /></g></svg>",
    checked = "data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' height='16' width='16'><path d='M 3,7 7,11 13,5' style='fill:none;stroke:white;stroke-width:1;'/></svg>",
    show_version = false,
    show_description = true,
    user_permissions = true,
    show_hidden = true,
    show_disabled = true,
    enabled_first = true,
    exceptions_listset = new Set([

    ]),
    exceptions_type_listset = new Set([

    ]);
    if (!("AddonManager" in this))
        ChromeUtils.defineModuleGetter(this, "AddonManager", "resource://gre/modules/AddonManager.jsm");
    if (!("GlobalManager" in this))
        XPCOMUtils.defineLazyGetter(this, "GlobalManager", () => {
            const { GlobalManager } = ChromeUtils.import("resource://gre/modules/Extension.jsm", null);
            return GlobalManager;
        });
    var extensionOptionsMenu = {
        get alertsService() {
            delete this.alertsService;
            return this.alertsService = Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService);
        },
        get clipboardHelp() {
            delete this.clipboardHelp;
            return this.clipboardHelp = Cc["@mozilla.org/widget/clipboardhelper;1"].getService(Ci.nsIClipboardHelper);
        },
        get exceptions_type_listarr() {
            delete this.exceptions_type_listarr;
            var arr = ["extension", "theme", "locale", "dictionary"];
            if (!exceptions_type_listset.size)
                return this.exceptions_type_listarr = arr;
            return this.exceptions_type_listarr = arr.filter(type => !exceptions_type_listset.has(type));
        },
        async populateMenu(e) {
            var popup = e.target, doc = e.view.document;
            var addons = await AddonManager.getAddonsByTypes(this.exceptions_type_listarr);
            var addonsMap = new WeakMap(),
            setAttributesMenu = (mi, addon, extension) => {
                var permissions, uuid,
                props = {
                    label: `${addon.name}${show_version ? ` ${addon.version}` : ""}`,
                    class: "menuitem-iconic",
                    tooltiptext: `${(show_description && addon.description) ? `${addon.description}\n` : ""}ID: ${addon.id}${addon.isActive && (uuid = extension?.uuid) ? `\nUUID: ${uuid}` : ""}${(user_permissions && (permissions = addon.userPermissions?.permissions)?.length) ? `\nРазрешения: ${permissions.join(", ")}` : ""}\n${addon.optionsURL ? "\nЛКМ: Настройки" : ""}\nCtrl+ЛКМ: Копировать ID${uuid ? "\nShift+ЛКМ: Копировать UUID" : ""}${addon.creator?.url ? "\nCtrl+Shift+ЛКМ: Автор" : ""}${addon.homepageURL ? "\nСКМ: Домашняя страница" : ""}${!addon.isBuiltin ? "\nCtrl+СКМ: Просмотр источника" : ""}\nShift+СКМ: Просмотр источника во вкладке\nПКМ: Включить/Отключить${(!addon.isSystem && !addon.isBuiltin) ? "\nCtrl+ПКМ: Удалить" : ""}`,
                };
                for (let p in props)
                    mi.setAttribute(p, props[p]);
                if (addon.iconURL)
                    mi.setAttribute("image", addon.iconURL);
                var cls = mi.classList;
                addon.isActive ? cls.remove("ucf-disabled") : cls.add("ucf-disabled");
                addon.optionsURL ? cls.remove("ucf-notoptions") : cls.add("ucf-notoptions");
                addon.isSystem ? cls.add("ucf-system") : cls.remove("ucf-system");
                cls.add(`ucf-type-${addon.type}`);
            };
            addons.filter(a => !(a.iconURL || "").startsWith("resource://search-extensions/")).sort((a, b) => {
                var ka = `${(enabled_first ? a.isActive ? "0" : "1" : "")}${a.type || ""}${a.name.toLowerCase()}`;
                var kb = `${(enabled_first ? b.isActive ? "0" : "1" : "")}${b.type || ""}${b.name.toLowerCase()}`;
                return (ka < kb) ? -1 : 1;
            }).forEach(addon => {
                if (!exceptions_listset.has(addon.id) &&
                    (!addon.hidden || show_hidden) &&
                    (!addon.userDisabled || show_disabled)) {
                    let extension = GlobalManager.extensionMap.get(addon.id),
                    mi = doc.createXULElement("menuitem");
                    setAttributesMenu(mi, addon, extension);
                    mi._Addon = addon;
                    mi._Extension = extension;
                    popup.append(mi);
                    addonsMap.set(addon, mi);
                }
            });
            var click = e => {
                e.preventDefault();
                e.stopPropagation();
                this.handleClick(e);
            };
            popup.addEventListener("click", click);
            var listener = {
                onEnabled: addon => {
                    var mi = addonsMap.get(addon);
                    if (mi)
                        setAttributesMenu(mi, addon, mi._Extension);
                },
                onDisabled: addon => {
                    listener.onEnabled(addon);
                },
                onInstalled: addon => {
                    var extension = GlobalManager.extensionMap.get(addon.id),
                    mi = doc.createXULElement("menuitem");
                    setAttributesMenu(mi, addon, extension);
                    mi._Addon = addon;
                    mi._Extension = extension;
                    popup.prepend(mi);
                    addonsMap.set(addon, mi);
                },
                onUninstalled: addon => {
                    var mi = addonsMap.get(addon);
                    if (mi) {
                        mi.remove();
                        addonsMap.delete(addon);
                    }
                },
            };
            AddonManager.addAddonListener(listener);
            popup.addEventListener("popuphiding", () => {
                AddonManager.removeAddonListener(listener);
                popup.removeEventListener("click", click);
                addonsMap = null;
                for (let item of popup.querySelectorAll("menuitem"))
                    item.remove();
            }, { once: true });
        },
        handleClick(e) {
            var win = e.view, mi = e.target;
            if (!("_Addon" in mi) || !("_Extension" in mi))
                return;
            var addon = mi._Addon, extension = mi._Extension;
            switch (e.button) {
                case 0:
                    if (e.ctrlKey && e.shiftKey) {
                        if (addon.creator?.url)
                            win.gBrowser.selectedTab = this.addTab(win, addon.creator.url);
                    } else if (e.ctrlKey) {
                        this.clipboardHelp.copyString(addon.id);
                        win.setTimeout(() => {
                            this.alertsService.showAlertNotification(`${img}`, "ID в буфере обмена!", addon.id, false);
                        }, 100);
                    } else if (e.shiftKey) {
                        if (extension?.uuid) {
                            this.clipboardHelp.copyString(extension.uuid);
                            win.setTimeout(() => {
                                this.alertsService.showAlertNotification(`${img}`, "UUID в буфере обмена!", extension.uuid, false);
                            }, 100);
                        }
                    } else if (addon.isActive && addon.optionsURL)
                        this.openAddonOptions(addon, win);
                    win.closeMenus(mi);
                    break;
                case 1:
                    if (e.ctrlKey) {
                        if (!addon.isBuiltin)
                            this.browseDir(addon);
                    } else if (e.shiftKey)
                        this.browseDir(addon, win);
                    else if (addon.homepageURL)
                        win.gBrowser.selectedTab = this.addTab(win, addon.homepageURL);
                    win.closeMenus(mi);
                    break;
                case 2:
                    if (!e.ctrlKey) {
                        let endis = addon.userDisabled ? "enable" : "disable";
                        if (addon.id == "screenshots@mozilla.org")
                            Services.prefs.setBoolPref("extensions.screenshots.disabled", !addon.userDisabled);
                        else if (addon.id == "webcompat-reporter@mozilla.org")
                            Services.prefs.setBoolPref("extensions.webcompat-reporter.enabled", addon.userDisabled);
                        addon[endis]({ allowSystemAddons: true });
                    } else if (!addon.isSystem && !addon.isBuiltin) {
                        win.closeMenus(mi);
                        if (Services.prompt.confirm(win, null, `Удалить ${addon.name}?`))
                            addon.uninstall();
                    }
                break;
            }
        },
        openAddonOptions(addon, win) {
            switch (addon.optionsType) {
                case 5:
                    win.BrowserOpenAddonsMgr(`addons://detail/${encodeURIComponent(addon.id)}/preferences`);
                    break;
                case 3:
                    win.switchToTabHavingURI(addon.optionsURL, true);
                    break;
            }
        },
        browseDir(addon, win) {
            try {
                if (!win) {
                    let file = Services.io.getProtocolHandler("file")
                    .QueryInterface(Ci.nsIFileProtocolHandler)
                    .getFileFromURLSpec(addon.getResourceURI().QueryInterface(Ci.nsIJARURI).JARFile.spec);
                    if (file.exists())
                        file.launch();
                } else
                    win.gBrowser.selectedTab = this.addTab(win, addon.getResourceURI().spec);
            } catch (e) {}
        },
        addTab(win, url, params = {}) {
            params.triggeringPrincipal = Services.scriptSecurityManager.getSystemPrincipal();
            params.relatedToCurrent = true;
            return win.gBrowser.addTab(url, params);
        },
    };
    CustomizableUI.createWidget({
        id: id,
        type: "custom",
        label: label,
        tooltiptext: tooltiptext,
        localized: false,
        defaultArea: CustomizableUI.AREA_NAVBAR,
        onBuild(doc) {
            var btn = doc.createXULElement("toolbarbutton"), win = doc.defaultView,
            props = {
                id: id,
                label: label,
                context: "",
                tooltiptext: tooltiptext,
                type: "menu",
                class: "toolbarbutton-1 chromeclass-toolbar-additional",
            };
            for (let p in props)
                btn.setAttribute(p, props[p]);
            btn.addEventListener("click", e => {
                if (e.button == 0)
                    e.view.switchToTabHavingURI("about:debugging#/runtime/this-firefox", true, { ignoreFragment: "whenComparing", triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal(), });
                else if (e.button == 2)
                    e.view.BrowserOpenAddonsMgr("addons://list/extension");
            });
            var mp = doc.createXULElement("menupopup");
            mp.id = `${id}-popup`;
            mp.addEventListener("contextmenu", e => {
                e.preventDefault();
                e.stopPropagation();
            });
            mp.addEventListener("popupshowing", e => {
                extensionOptionsMenu.populateMenu(e);
            });
            btn.append(mp);
            var btnstyle = "data:text/css;charset=utf-8," + encodeURIComponent(`
                #${id}, #${id}-popup menuitem {
                    list-style-image: url("${img}") !important;
                }
                #${id}-popup menuitem::after {
                    display: -moz-box !important;
                    content: "" !important;
                    height: 16px !important;
                    width: 16px !important;
                    padding: 0 !important;
                    border: 1px solid rgb(0, 116, 232) !important;
                    border-radius: 0 !important;
                    background-repeat: no-repeat !important;
                    background-position: center !important;
                    background-size: 16px !important;
                    background-color: rgb(0, 116, 232) !important;
                    background-image: url("${checked}") !important;
                    opacity: 1 !important;
                }
                #${id}-popup menuitem.ucf-disabled::after {
                    border-color: currentColor !important;
                    background-color: transparent !important;
                    background-image: none !important;
                    opacity: .6 !important;
                }
                #${id}-popup menuitem.ucf-disabled > label,
                #${id}-popup menuitem.ucf-notoptions > label {
                    opacity: .6 !important;
                }
                #${id}-popup menuitem.ucf-system > label {
                    text-decoration: underline !important;
                    text-decoration-style: dotted !important;
                }
                #${id}-popup menuitem > label {
                    margin-inline-end: 0 !important;
                }
                #${id}-popup menuitem > .menu-accel-container {
                    display: -moz-box !important;
                    padding: 4px !important;
                    margin: 0 !important;
                    opacity: 1 !important;
                }
                #${id}-popup menuitem > .menu-accel-container .menu-iconic-accel {
                    display: -moz-box !important;
                    margin: 0 !important;
                    height: 8px !important;
                    width: 8px !important;
                    border-radius: 4px !important;
                    background-color: transparent !important;
                    opacity: 1 !important;
                    font-size: 0 !important;
                }
                #${id}-popup menuitem.ucf-type-dictionary > .menu-accel-container .menu-iconic-accel {
                    background-color: rgb(227, 27, 93) !important;
                }
                #${id}-popup menuitem.ucf-type-locale > .menu-accel-container .menu-iconic-accel {
                    background-color: rgb(48, 172, 55) !important;
                }
                #${id}-popup menuitem.ucf-type-theme > .menu-accel-container .menu-iconic-accel {
                    background-color: rgb(219, 106, 0) !important;
                }
            `);
            try {
                win.windowUtils.loadSheetUsingURIString(btnstyle, win.windowUtils.USER_SHEET);
            } catch (e) {}
            return btn;
        },
    });
})();} catch (e) {}

Отсутствует

 

№67825-03-2023 10:01:21

LGS
Участник
 
Группа: Members
Зарегистрирован: 17-09-2022
Сообщений: 101
UA: Firefox 111.0

Re: UCF - ваши кнопки, скрипты…

Отсутствует

 

№67925-03-2023 10:22:11

b0ttle
Участник
 
Группа: Members
Зарегистрирован: 22-10-2020
Сообщений: 182
UA: Firefox 111.0

Re: UCF - ваши кнопки, скрипты…

LGS
Похоже не работает, у меня не подхвотил с "//В фоне [System Principal]". Отдельно в файл, как в примере в шапке. И что-то вообще глухо, даже иконка не появилась. По мне, я что-то не то делаю. Даже старый код перестал показывать иконку. Странно. У вас работает?

Отредактировано b0ttle (25-03-2023 11:06:52)

Отсутствует

 

№68025-03-2023 11:04:57

b0ttle
Участник
 
Группа: Members
Зарегистрирован: 22-10-2020
Сообщений: 182
UA: Firefox 111.0

Re: UCF - ваши кнопки, скрипты…

del

Отредактировано b0ttle (25-03-2023 11:05:39)

Отсутствует

 

№68125-03-2023 11:20:19

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1231
UA: Firefox 111.0

Re: UCF - ваши кнопки, скрипты…

b0ttle
В моём профиле работает и называется extension_manager_button.js.

Отсутствует

 

№68225-03-2023 12:04:27

b0ttle
Участник
 
Группа: Members
Зарегистрирован: 22-10-2020
Сообщений: 182
UA: Firefox 111.0

Re: UCF - ваши кнопки, скрипты…

xrun1
Во, спасибо. Просто еще до вашего профиля не дошел. Свое еще не перебрал, много чего уже естественно не работает у меня. Давно заходил.
Ваша работает, только как бы решить проблему с этим extensions(значок который не убирается). Можно в стилях убрать, по идее. Ну ладно, с этим сам разберусь наверно. Одной проблемой меньше. Теперь одним кликом вкл/выкл дополнение.

Отредактировано b0ttle (25-03-2023 12:06:04)

Отсутствует

 

№68325-03-2023 14:16:42

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1231
UA: Firefox 111.0

Re: UCF - ваши кнопки, скрипты…

b0ttle пишет

как бы решить проблему с этим extensions(значок который не убирается)

№694 и дальше (решения от ув. Dumby).
P.S. Кнопки, стили, где есть русский язык, сохраняйте обязательно в кодировке 65001 (UTF-8) без BOM. Проблема неработоспособности может быть в этом.

Отредактировано xrun1 (25-03-2023 14:20:29)

Отсутствует

 

№68431-03-2023 12:44:10

LGS
Участник
 
Группа: Members
Зарегистрирован: 17-09-2022
Сообщений: 101
UA: Firefox 111.0

Re: UCF - ваши кнопки, скрипты…

Dumby, вы не могли бы кнопку about:config из Add Toolbar Buttons 2021.9.5 сделать отдельной для UCF..?

Отсутствует

 

№68531-03-2023 18:19:37

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 1658
UA: Firefox 111.0

Re: UCF - ваши кнопки, скрипты…

Отсутствует

 

№68631-03-2023 19:04:54

LGS
Участник
 
Группа: Members
Зарегистрирован: 17-09-2022
Сообщений: 101
UA: Firefox 111.0

Re: UCF - ваши кнопки, скрипты…

_zt, отлично, спасибо. В итоге, ваш вариант сейчас "причесываю".

Dumby, надеюсь, что не успел время отобрать. Уже не надо, выше подсказали.

Отсутствует

 

№68731-03-2023 20:05:09

LGS
Участник
 
Группа: Members
Зарегистрирован: 17-09-2022
Сообщений: 101
UA: Firefox 111.0

Re: UCF - ваши кнопки, скрипты…

_zt, а причесать то не получается. Теперь не знаю как about:cfg заменить на chrome://user_chrome_files/content/aboutconfig/config.xhtml. Замена в строке aboutoldurl = "about:cfg" ничего не дает. Мне, в принципе, кнопка и нужна была для старого about:config.
В Add Toolbar Buttons адрес легко правится в parent.js. А здесь уперся.

Added: причесал, работает.

Отредактировано LGS (31-03-2023 22:38:17)

Отсутствует

 

№68801-04-2023 11:13:45

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 1658
UA: Firefox 111.0

Re: UCF - ваши кнопки, скрипты…

LGS
about:cfg это и есть chrome://user_chrome_files/content/aboutconfig/config.xhtml
   
Там для 107+ нужна правка в config.js

Выделить код

Код:

document.getElementById("configDeck").setAttribute("selectedIndex", 0);
вместо
document.getElementById("configDeck").selectedIndex = 0;

Ссылку не сохранил, где то в этой теме, вроде.

Отсутствует

 

№68901-04-2023 13:55:22

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1231
UA: Firefox 111.0

Re: UCF - ваши кнопки, скрипты…

_zt пишет

Ссылку не сохранил, где то в этой теме, вроде.

https://forum.mozilla-russia.org/viewtopic.php?pid=802633#p802633

Отсутствует

 

№69001-04-2023 15:53:35

LGS
Участник
 
Группа: Members
Зарегистрирован: 17-09-2022
Сообщений: 101
UA: Firefox 111.0

Re: UCF - ваши кнопки, скрипты…

_zt пишет

about:cfg это и есть chrome://user_chrome_files/content/aboutconfig/config.xhtml

Нет, без замены about:cfg на chrome://user_chrome_files/content/aboutconfig/config.xhtml вскрипте от Vitaly V. в вашей редакции (2-й спойлер) не срабатывает. Может это у меня что-то особенное:
Config_old_1.1680353214.png
После замены - открывает старый about:config:
Config_old.1680350187.png

Отсутствует

 

№69101-04-2023 21:05:26

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1231
UA: Firefox 111.0

Re: UCF - ваши кнопки, скрипты…

_zt
Давно вижу, а понять не могу. Если ввожу в адресной строке about:cfg, должна открыться старая панель? У Вас это работает?

Отсутствует

 

№69201-04-2023 21:47:33

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 1658
UA: Firefox 111.0

Re: UCF - ваши кнопки, скрипты…

LGS
xrun1
В config.js два раза заменить надо, и в config.css еще - https://forum.mozilla-russia.org/viewto … 33#p802633 . После изменений кэш загрузки чистить обязательно, для уверенности - вручную.
   
Если нет, то просите Dumby исправить. У меня на 102 работает и из кнопки и из адресной строки/закладки.
   
aboutconfig то точно последний?
aboutconfigOLDv2.zip - в архиве без правок.

Отредактировано _zt (01-04-2023 22:02:16)

Отсутствует

 

№69302-04-2023 08:59:58

LGS
Участник
 
Группа: Members
Зарегистрирован: 17-09-2022
Сообщений: 101
UA: Firefox 111.0

Re: UCF - ваши кнопки, скрипты…

_zt пишет

У меня на 102 работает и из кнопки и из адресной строки/закладки

На 102 с пол-пинка завелось... на 111 тоже about:cfg заработал. Что мешало - не пойму, наверное что-то локальное.

Отсутствует

 

№69402-04-2023 14:46:05

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1231
UA: Firefox 111.0

Re: UCF - ваши кнопки, скрипты…

_zt
Спасибо, разобрался. У меня стоял старый ucf, когда было это сообщение. Сейчас поправил.

Отсутствует

 

№69510-04-2023 19:40:52

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 112.0

Re: UCF - ваши кнопки, скрипты…

Dumby
Посмотри пожалуйста Add Toolbar Buttons, а то в [firefox] 112 некоторые иконки раздвояйюца.

Отсутствует

 

№69610-04-2023 21:14:47

Farby
Участник
 
Группа: Members
Зарегистрирован: 21-11-2012
Сообщений: 320
UA: Google 2.1

Re: UCF - ваши кнопки, скрипты…

voqabuhe пишет

Посмотри пожалуйста Add Toolbar Buttons

я, думал что это скрипт, но...


Жизнь иногда такое выкидывает, что хочется подобрать...

На форуме

 

№69711-04-2023 12:38:07

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2275
UA: Firefox 78.0

Re: UCF - ваши кнопки, скрипты…

voqabuhe пишет

Посмотри пожалуйста Add Toolbar Buttons, а то в [firefox] 112 некоторые иконки раздвояйюца.

Да, как-то пробовал нарезать тамошние SVG'шки вручную.
Даже собрал комплект для самостоятельной правки.
Текстовая ссылка на страницу загрузки комплекта:

скрытый текст

Выделить код

Код:

data:text/html;charset=utf-8,<!DOCTYPE html>%0A<html>%0A%09<head>%0A%09%09<title>ATB Bug 1817071</title>%0A%09%09<meta http-equiv="Content-Type" content="text/html; charset=utf-8">%0A%09</head>%0A%09<body style="padding-top: 16vh;">%0A%09%09<center><h1 style="font-family: Consolas, Verdana;">%0A%09%09%09<a%0A%09%09%09%09download="ATB_Bug_1817071.zip"%0A%09%09%09%09href="data:application/x-zip-compressed;base64,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"%0A%09%09%09>%0A%09%09%09%09ATB_Bug_1817071.zip</a>%0A%09%09</h1></center>%0A%09</body>%0A</html>

Отсутствует

 

№69811-04-2023 15:29:46

doud
Участник
 
Группа: Members
Откуда: Германия
Зарегистрирован: 03-02-2012
Сообщений: 93
UA: Firefox 112.0

Re: UCF - ваши кнопки, скрипты…

Можно ли создать скрипт для создания кнопки расширений, как в старых версиях Firefox? Нажал кнопку левой кнопкой мыши -открылась страница управление дополнениями.А больше ничего и не надо..

Отсутствует

 

№69911-04-2023 16:39:05

kokoss
Участник
 
Группа: Members
Зарегистрирован: 15-02-2018
Сообщений: 1770
UA: Firefox 112.0

Re: UCF - ваши кнопки, скрипты…

Dumby пишет

Да, как-то пробовал нарезать тамошние SVG'шки вручную.
Даже собрал комплект для самостоятельной правки.
Текстовая ссылка на страницу загрузки комплекта:
скрытый текст

Благодарю :beer:


Win7

Отсутствует

 

№70011-04-2023 17:24:07

kokoss
Участник
 
Группа: Members
Зарегистрирован: 15-02-2018
Сообщений: 1770
UA: Firefox 112.0

Re: UCF - ваши кнопки, скрипты…

doud
Как вариант, использовать кнопку "Дополнения" из Add Toolbar Buttons


Win7

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]