green25
Это ваше ?
У Dumby спроси.
Andrey_Krropotkin
Можно попросить полный код кнопки переключения боковых панелей.
Dumby
Посмотри пожалуйста. В 136 не работает.
Reload user(Chrome, Content).mjs
[spoiler][code]var name = "UCF_userContentReloader"; /*, EXPORTED_SYMBOLS = [name + "Child"]; */ export {UCF_userContentReloaderChild};
if (typeof Services != "object")
/* eslint-disable-next-line no-var */
var Services = globalThis.Services;
var find = function(sheet) {
return sheet.href == this;
}
var getSheet = (doc, href) =>
InspectorUtils.getAllStyleSheets(doc).find(find, href);
if (!ChromeUtils.domProcessChild.childID) {
var noop = () => {};
ChromeUtils.importESModule("resource:///modules/CustomizableUI.sys.mjs").CustomizableUI.createWidget({
label: "Reload user{Chrome, Content}.css",
tooltiptext: "L: Reload userChrome.css\nR: Reload userContent.css",
id: "ucf-userContentReloader",
localized: false,
onCreated(btn) {
btn._handleClick = this.click;
btn.oncontextmenu = oncontextmenu;
btn.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAA
_zt
Большое спасибо! Все получилось.
Правда, там, по-видимому, сам скрипт править надо.
И еще вопрос. А для скриптов .JSM надо делать аналогично?
_zt
CustomStylesScripts.mjs у меня есть.
Будьте добры подробно разьясните, что куда ложить.
fuchsfan
Этот пост?
https://forum.mozilla-russia.org/viewto … 48#p806748
_zt
https://forum.mozilla-russia.org/viewto … 87#p812487
Не удалось запустить MJS-ку. Поясните пожалуйста, код запуска надо помещать
в custom_scripts.js?
Farby
Помогите, пожалуйста. Не получается запустить вашу кнопку Reload user{Chrome, Content}
https://forum.mozilla-russia.org/viewto … 97#p806797
Куда надо помещать код?
green25
Кнопка CB toggleRestartlessAddons для 115
[spoiler][code]// http://infocatcher.ucoz.net/js/cb/toggleRestartlessAddons.js
// https://forum.mozilla-russia.org/viewtopic.php?id=57948
// https://github.com/Infocatcher/Custom_Buttons/tree/master/Toggle_Restartless_Add-ons
// Toggle Restartless Add-ons button for Custom Buttons
// (code for "initialization" section)
// Also the code can be used from main window context (as Mouse Gestures code, for example)
// Also you can check for add-ons updates using right-click:
// copy all code from
// https://github.com/Infocatcher/Custom_Buttons/blob/master/Check_for_Addons_Updates/checkForAddonsUpdates.js
// after "//== Check for Addons Updates begin"
// See "var style = " to modify styles for specific add-ons
// (c) Infocatcher 2013-2019
// version 0.1.3pre4 - 2020-01-01
var options = {
addonTypes: ["extension"],
// Possible values: "extension", "plugin"
// From extensions: "userstyle" (Stylish), "greasemonkey-user-script" (
"Ну и нашел еще одну кнопку, которая перестала работать в 136
Консоль браузера"
Прошу прощения, кнопка рабочая. Там был конфликт с одним раширением.
Dumby
Великолепно! Благодарю.
А ты случайно не делал скрипт UserCSSLoader,
чето кнопка уменя не работает.
Dumby
Спасибо за подсказку. Теперь все работает.
Ну и нашел еще одну кнопку, которая перестала работать в 136
Консоль браузера
[spoiler][code]/*Initialization Code*/
({
title: "Browser Console",
url: "chrome://devtools/content/webconsole/index.html",
icon: "chrome://devtools/skin/images/tool-webconsole.svg",
init() {
var trg = document.getElementById("browser");
trg && addEventListener("DOMContentLoaded", this, false, trg);
var id = "viewBrowserConsoleSidebar";
var menuitem = this.element("menuitem", {
type: "checkbox",
label: this.title,
id: "menu_browserConsoleSidebar",
oncommand: `(globalThis.SidebarController || globalThis.SidebarUI).toggle("${id}");`
}, document.getElementById("viewSidebarMenu"));
var btn = this.element("toolbarbutton", {
type: "checkbox",
label: this.title,
id: "sidebar-switcher-browserConsole",
oncommand: `(globalThis.SidebarController || globalThis.SidebarUI).show("${id}");`,
class: "subviewbutton subv
Dumby
В 136 пререлизе у меня не устанавливаются CB и ATB
Появляется сообщение: Дополнение не может быть установлено,
так как оно не было проверено.
Может, что то в config.js не так?
[spoiler][code]//
try {(jsval => {
var dbg, gref, genv = func => {
var sandbox = new Cu.Sandbox(g, {freshCompartment: true});
Cc["@mozilla.org/jsdebugger;1"].createInstance(Ci.IJSDebugger).addClass(sandbox);
(dbg = new sandbox.Debugger()).addDebuggee(g);
gref = dbg.makeGlobalObjectReference(g);
return (genv = func => func && gref.makeDebuggeeValue(func).environment)(func);
}
var g = Cu.getGlobalForObject(jsval), o = g.Object, {freeze} = o, disleg;
var AC = "AppConstants", uac = `resource://gre/modules/${AC}.`;
var lexp = () => lockPref("extensions.experiments.enabled", true);
if (o.isFrozen(o)) { // Fx 102.0b7+
lexp(); disleg = true;
var env, def = g.ChromeUtils.defineModuleGetter;
g.ChromeUtils.defineModuleGetter = (...args) => {
try {
genv();
dbg.addDebuggee
Dumby
Спасибо! Все работает.
Dumby
Нашел еще две удобные неработающие кнопки
1. "Два в одном"
[spoiler][code]//Настройка функций кликов мыши для кнопки ....................
this.onclick =e=> {if(e.button==0)BrowserOpenAddonsMgr();//ЛКМ
if(e.button==1)gShowPopup(this); //СКМ
if(e.button==2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey){//ПКМ
setTimeout(function(){document.getElementById("custombuttons-contextpopup").hidePopup();},0);openPreferences();}};
this.tooltipText="Л: Addons\nС: CBMenu\nП: Preferences";
//data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAABuwAAAbsBOuzj4gAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAMJSURBVDiNdVPNa1N5FD2/30uMeX1IPjFmE3BKERdhRKqgwyBqibsuZqGYRRf2H3Ax0J28je22XcRCwwhNKh0ki24GSn20iE3TNMKjONKkHyYUokmbMR++F/Oa966baUkVL9zNvfdc7jmHy4gIP4uFhcUFABgejgz/dIiITjKZTF3JZtXKzEziPgC+tbV3tLW1dwSAz8wk7mezaiWZTF3pxZxaEI2O3mk2NSoWy918/kO73e5Qu92h
Viatcheslav
Благодарю!
Dobrov
Поясните пожалуйста, как скачать ваш демо профиль?
Dumby
Справка
((href, data) => { var en = Services.ww.getWindowEnumerator(null); if (!en.hasMoreElements()) return; var doc = en.getNext().document; var du = Components.classes["@mozilla.org/inspector/dom-utils;1"] .getService(Components.interfaces.inIDOMUtils); var reload = sheet => { var style = data[sheet.href]; if (!style) return; du.parseStyleSheet(sheet, style); for(var ind = 0, len = sheet.cssRules.length; ind < len; ind++) { var rule = sheet.cssRules.item(ind); rule.type == rule.IMPORT_RULE && rule.styleSheet.href.startsWith("file:///") && reload(rule.styleSheet); } } var sheet = du.getAllStyleSheets(doc).find(sheet => sheet.href == href); if (sheet) reload(sheet); })("
Dumby
Раз теме тишина попрошу полечить еще одну кнопку.
UserCSSLoader
[spoiler][code](obj => {
this.onclick = obj.click.bind(obj);
this.oncontextmenu = obj.contextmenu.bind(obj);
this.tooltipText = "L: Reload userChrome.css\nM: CB Menu\nR: Reload userContent.css";
})({
async click(e) {
if (e.button == 1) return gShowPopup(self);
if (e.button || !this.chromeSheet) return;
await this.reload(this.chromeSheet);
this.restyle(0);
},
async contextmenu(e) {
if (e.ctrlKey || e.shiftKey || e.detail != 1 || !this.contentSheetURL) return;
e.preventDefault();
var count = Services.ppmm.childCount, one = count == 1;
var data = await this.reloadTab("chrome://extensions/content/dummy.xul", one ? false : {});
if (one) this.reloadTab();
else if (data) {
var url = "data:," + encodeURIComponent(
self.Help + this.contentSheetURL + '", ' + JSON.stringify(data) + "
Dumby
Да, все верно. Перегрузил лису и кнолка зареботала.
Остальные не проверял
Проверь пожалуйста пункт меню Редактирование кнопки.
У меня не работает.
Dumby
Спасибо! Кнопка заработала.
Огромная просьба. Посмотри еще раз код
Дополнительные пункты в контекстном меню кнопки из моего
предыдущего поста. Очень полезная кнопка. Твоя правка к сожалению не сработала.
Ни один пункт меню не работает.
Dumby
Большое спасибо!
И еще. Не знаю, как сразу не заметил
Toggle Restartless Add-ons
[spoiler][code]// http://infocatcher.ucoz.net/js/cb/toggleRestartlessAddons.js
// https://forum.mozilla-russia.org/viewtopic.php?id=57948
// https://github.com/Infocatcher/Custom_Buttons/tree/master/Toggle_Restartless_Add-ons
// Toggle Restartless Add-ons button for Custom Buttons
// (code for "initialization" section)
// Also the code can be used from main window context (as Mouse Gestures code, for example)
// Also you can check for add-ons updates using right-click:
// copy all code from
// https://github.com/Infocatcher/Custom_Buttons/blob/master/Check_for_Addons_Updates/checkForAddonsUpdates.js
// after "//== Check for Addons Updates begin"
// See "var style = " to modify styles for specific add-ons
// (c) Infocatcher 2013-2019
// version 0.1.3pre4 - 2020-01-01
var options = {
addonTypes: ["extension", "plugin"],
// Possible values: "extension", "plugin"
// From extensions:
Dumby
Раскрыл 136b2. Перестали рабтать кнопки:
1. Экспорт в HTML файл в контекстном меню закладок
[spoiler][code]//-------------------- Экспорт в HTML файл в контекстном меню закладок
(popup => addEventListener("popupshowing", {
handleEvent() {
if (this.shouldHide()) return;
var before = document.getElementById("placesContext_openSeparator");
var menuitem = popup.insertBefore(document.createXULElement("menuitem"), before);
menuitem.setAttribute("label", "Экспорт папки в HTML");
menuitem.setAttribute("oncommand", "exportFolder();");
menuitem.exportFolder = this.pick.bind(this);
addDestructor(() => menuitem.remove());
(this.handleEvent = () => menuitem.hidden = menuitem.disabled = this.shouldHide())();
},
shouldHide() {
var node = popup.triggerNode._placesNode;
var hide = !node || node.type != node.RESULT_TYPE_FOLDER;
if (!hide) this.guid = node.bookmarkGuid, this.title = node.title
Dumby
Может слетела настройка extensions.experiments.enabled
Или может отвалилась какая-то конкретная кнопка,
Настройка включена, расширение устанавливается, но кнопки не создаются. Все остальное работает.
На 133 проблем не было.
Dumby
В 134.b9 перестало работать расширение add toolbar buttons.2024.10.14.21.
Посмотри пожалуйста.