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

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

№1652602-07-2022 01:37:01

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 258
UA: Firefox 102.0

Re: Custom Buttons

Dumby
Да заделал вроде, кому надо и кнопка туда-сюда
Cам jsm

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

Выделить код

Код:

var EXPORTED_SYMBOLS = ["AutoCopyChild"];

ChromeUtils.domProcessChild.childID || ChromeUtils.registerWindowActor("AutoCopy", {
	messageManagerGroups: ["browsers"], allFrames: true,
	child: {moduleURI: __URI__, events: {DOMDocElementInserted: {}}}
});
var re = /\S/;
var QueryInterface = ChromeUtils.generateQI(["nsISelectionListener"]);

var reasons = ["MOUSEUP", "KEYPRESS", "SELECTALL"]
	.map(reason => Ci.nsISelectionListener[reason + "_REASON"]);

/*
class AutoCopyChild extends JSWindowActorChild {
	constructor() {
		super();
		this.listener = {
			QueryInterface,
			notifySelectionChanged: (d, sel, reason) =>
*/

var enabled = Cc["@mozilla.org/preferences-service;1"]
	.getService(Ci.nsIPrefBranch).getBoolPref.bind(null, "ucf.autocopy.enabled");

class AutoCopyChild extends JSWindowActorChild {
	constructor() {
		super();
		this.listener = {
			QueryInterface,
			notifySelectionChanged: (d, sel, reason) => enabled(false) &&

				reasons.includes(reason) && re.test(sel)
					&& this.docShell.doCommand("cmd_copy")
		};
	}
	async handleEvent() {
		await new Promise(ChromeUtils.idleDispatch);
		(this.sel = this.contentWindow.getSelection())
			.addSelectionListener(this.listener);		
	}
	didDestroy() {
		this.sel.removeSelectionListener(this.listener);
		this.sel = this.listener = null;
	}
}


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

Выделить код

Код:

(ps => {


    var s = "ucf.autocopy.enabled";
 
    this._handleClick = () =>  cbu.setPrefs(s, cbu.getPrefs(s) == true ? false: true);
var toggleImage = val => {
        
self.image = cbu.getPrefs(s)
           ? 'data:image/x-icon;base64,AAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMBAAQIAAcEBwAIBAcACAQHAAgEBwAIBAcACAQHAAgEBwAIBAcACAMEAQEAAAAAAAAAAAAAAAACAwADAAAAABUnAB9cqgC3a7wB4Gq5Ad1qugHearoB3mq6Ad5qugHearoB3mi4AN1qugHgYrMAxR43AC8AAAAAAAEAAAECAAQAAAQAV6AAprP9Vv/W/qn80/+f/9T/ov/U/6L/1P+i/9T/ov/U/6L/1/+n/9X+pfy3/WL/Y7QAvwEAAQAAAAAAFSgAH1ehAKlyzwD1htgf/YzcJ/2K2yP9i9sk/YvbJf2L2yX9i9sm/YnaIv2b4kP92/21/Nf+qv9quwHdBQkACAAAAQBeqwCzr/tR/8X0j/u+8X//vvJ//77ygP++8oD/vvKA/77yf/+98n7/wvSH/4zcKv+e4kv93v+0/2i5AN0DBwAIBQkACGu8AdzV/af/4v/B/d//u//h/7//4f+//+H/v//h/7//4f+//9/+u//n/8n/w/GK/4zaK/3g/7r/aroC3gMHAAgEBwAIarkC3dX/pf/g/sD93v67/9/+vv/g/r//4P6//+D+v//f/r7/3f66/+T/xv/B8Yb/j9st/eT/w/9qugPeAwcACAQHAAhqugLe2v+w/+j/z/3l/8r/5//N/+f/zv/n/87/5//O/+f/zf/l/sj/7P/W/8Xyj/+Q2y/96f/N/2q6A94DBwAIBAcACGq6At7f/7n/7v/c/ev/1v/t/9n/7f/a/+3/2v/t/9r/7f/Z/+r+1f/y/+P/yPKW/5DbMf3s/9X/aroE3gMHAAgEBwAIaroC3uP/wf/z/+j98P/h//L/5P/z/+X/8//l//P/5f/y/+T/8P7g//j/7v/L8p3/kdsy/fD/3P9rugTeAwcACAQHAAhqugLe5v/J//j/8v31/+r/9v/t//f/7v/3/+//9//u//b/7f/0/un//f/4/87yo/+R2zL98f/f/2q5Bd0DBwAIBAcACGq6At7p/8///P/6/fj/8f/6//T/+v/1//r/9f/6//X/+v/0//f+8P//////0fGo/5PbNf30/+f/a7wE3AQJAAgEBwAIabkC3er/0f/+//79+v/0//v/9//8//j//P/4//z/+P/7//f/+f70///////T8qz/i9go+8P9ef9dqwCzAAACAAUJAAhquwHd7f7a//////z+//39/////f////3////9/////f////39/vz9/////dzzvv5v0AD1VqECqRUnAB8AAAAAAQACAGK0AL/J/Yf/8v7k/O3/1//u/9n/7v/Z/+7/2f/u/9n/7v/Z/+3/1//x/eP8vfxu/1WgAKYAAAUAAQIABAABAAAAAAAAHjcALmGzAMVquwLgarkC3Wq6At5qugLearoC3mq6At5qugLearkC3Wu8AeBbqgC3FScAHwAAAAACAwADAAAAAAAAAAAAAAAAAwQCAQQIAAgEBwAIBAcACAQHAAgEBwAIBAcACAQHAAgEBwAIBAgABwMDAgAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA='

   : 

'data:image/x-icon;base64,AAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgEDAAQACAcEAAcIBAAHCAQABwgEAAcIBAAHCAQABwgEAAcIBAAHCAMBBAEAAAAAAAAAAAAAAAACAAMDAAAAABUAJx9cAKq3awG84GoBud1qAbreagG63moBut5qAbreagG63mgAuN1qAbrgYgCzxR4ANy8AAAAAAAABAAEAAgQABAAAVwCgprNW/f/Wqf7805///9Si///Uov//1KL//9Si///Uov//16f//9Wl/vy3Yv3/YwC0vwEBAAAAAAAAFQAoH1cAoalyAM/1hh/Y/Ywn3P2KI9v9iyTb/Ysl2/2LJdv9iybb/Yki2v2bQ+L927X9/Neq/v9qAbvdBQAJCAABAABeAKuzr1H7/8WP9Pu+f/H/vn/y/76A8v++gPL/voDy/75/8v+9fvL/wof0/4wq3P+eS+L93rT//2gAud0DAAcIBQAJCGsBvNzVp/3/4sH//d+7///hv///4b///+G////hv///4b///9+7/v/nyf//w4rx/4wr2v3guv//agK63gMABwgEAAcIagK53dWl///gwP793rv+/9++/v/gv/7/4L/+/+C//v/fvv7/3br+/+TG///BhvH/jy3b/eTD//9qA7reAwAHCAQABwhqArre2rD//+jP//3lyv//583//+fO///nzv//587//+fN///lyP7/7Nb//8WP8v+QL9v96c3//2oDut4DAAcIBAAHCGoCut7fuf//7tz//evW///t2f//7dr//+3a///t2v//7dn//+rV/v/y4///yJby/5Ax2/3s1f//agS63gMABwgEAAcIagK63uPB///z6P/98OH///Lk///z5f//8+X///Pl///y5P//8OD+//ju///LnfL/kTLb/fDc//9rBLreAwAHCAQABwhqArre5sn///jy//316v//9u3///fu///37///9+7///bt///06f7//fj//86j8v+RMtv98d///2oFud0DAAcIBAAHCGoCut7pz////Pr//fjx///69P//+vX///r1///69f//+vT///fw/v//////0ajx/5M12/305///awS83AQACQgEAAcIaQK53erR///+/v/9+vT///v3///8+P///Pj///z4///79///+fT+///////TrPL/iyjY+8N5/f9dAKuzAAIAAAUACQhqAbvd7dr+//////z+/f/9/////f////3////9/////f////39/P79/////dy+8/5vAND1VgKhqRUAJx8AAAAAAQIAAGIAtL/Jh/3/8uT+/O3X///u2f//7tn//+7Z///u2f//7tn//+3X///x4/38vW78/1UAoKYABQAAAQACBAAAAQAAAAAAHgA3LmEAs8VqArvgagK53WoCut5qArreagK63moCut5qArreagK53WsBvOBbAKq3FQAnHwAAAAACAAMDAAAAAAAAAAAAAAAAAwIEAQQACAgEAAcIBAAHCAQABwgEAAcIBAAHCAQABwgEAAcIBAAIBwMCAwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=';
this.tooltipText = cbu.getPrefs(s) ? 'Autocopy' : 'Stop Autocopy'; 

}
    toggleImage();
    ps.addObserver(s, toggleImage, false);
    addDestructor(() => ps.removeObserver(s, toggleImage));
})(Services.prefs);

this.oncontextmenu =e=> { e.button && !e.ctrlKey && e.preventDefault() };

Отредактировано ВВП (02-07-2022 01:49:57)

Отсутствует

 

№1652702-07-2022 02:29:31

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

Re: Custom Buttons

Dumby пишет

FF 104.0a1 (2022-06-30) + UCF 2021-6-5 ("старый").

Спасибо!:rock:
ВВП
Код jsm вставлять, как в посте Dumby №16519?
А что делать со вторым кодом? Сохранить и загружать там же, в custom_script.js
loadscript("второй_код.js");
или просто дописать в конец custom_script.js?
У меня не сработало, версияUCF 2021-6-5 ("старая")...

Отредактировано xrun1 (02-07-2022 03:33:29)

Отсутствует

 

№1652802-07-2022 08:11:54

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 258
UA: Firefox 102.0

Re: Custom Buttons

xrun1
Добавил в custom_script.js

(async url => ChromeUtils.import(url))(
    "chrome://user_chrome_files/content/custom_scripts/AutoCopyMin.jsm"
);
второй, то кнопка для переключения

Отсутствует

 

№1652902-07-2022 08:48:07

momo2000
Участник
 
Группа: Members
Зарегистрирован: 03-09-2015
Сообщений: 196
UA: Firefox 102.0

Re: Custom Buttons

Есть расширение Copy On Select
Внутри простой скрипт

Выделить код

Код:

window.addEventListener(
	'mouseup',
	function() {
		if (document.getSelection().toString() != '') {
			document.execCommand('copy');
		}
	},
	false
);

Можно ли для CB код сконвертировать  и удалить расширение?

Отсутствует

 

№1653002-07-2022 11:58:58

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

Re: Custom Buttons

momo2000
Попробовал этот код сделать для Tampermonkey. Работает, если выделить текст, но при выделении части ссылки (для этого у меня тоже есть код в Tampermonkey) эту часть ссылки не копирует.

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

Выделить код

Код:

// ==UserScript==
// @name         Autocopy
// @namespace    https://addons.mozilla.org/en-US/firefox/addon/copy-on-select/
// @version      0.1
// @description  Copy On Select
// @author       spyrosoft
// @include      *
// @icon         https://www.google.com/s2/favicons?sz=64&domain=mozilla-russia.org
// @grant        none
// @run-at       document-end
// ==/UserScript==
'use strict';
window.addEventListener(
	'mouseup',
	e =>
    {
		if (document.getSelection().toString() != '') {
			document.execCommand('copy');
		}
	},
    false
);


Извиняюсь, что код не в профильной теме разместил.
Код Dumby копирует правильно, в обоих случаях.
Код ВВП тоже работает правильно

Отредактировано xrun1 (02-07-2022 12:04:23)

Отсутствует

 

№1653103-07-2022 13:20:34

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 258
UA: Firefox 101.0

Re: Custom Buttons

Dumby
как избавится от about:blank . Хочу запуск или about:newtab либо about:home
browser.startup.homepage - ... не помогает

Отредактировано ВВП (03-07-2022 14:00:09)

Отсутствует

 

№1653203-07-2022 19:48:41

Okralis
Участник
 
Группа: Members
Зарегистрирован: 11-10-2021
Сообщений: 7
UA: Firefox 102.0

Re: Custom Buttons

Подскажите, недавно браузер обновился и пропали все кнопки, я переустановил расширение, пробуя разные коды для config.js и все кнопки вернулись. Но теперь пишет "Работа Custom Buttons в Firefox не была проверена, поэтому оно было отключено" и после перезапуска браузера все кнопки также пропадают. Какой нужен код в config.js, чтобы все работало нормально? Или как это исправить?

Отсутствует

 

№1653303-07-2022 20:45:10

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 258
UA: Firefox 102.0

Re: Custom Buttons

Okralis
а это xpinstall.signatures.required =false и
extensions.experiments.enabled=true
extensions.legacy.enabled=true
toolkit.legacyUserProfileCustomizations.stylesheets=true

Отредактировано ВВП (03-07-2022 20:47:11)

Отсутствует

 

№1653403-07-2022 21:06:08

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

Re: Custom Buttons

ВВП пишет

Хочу запуск или about:newtab либо about:home

Это дефолт. Так оно из коробки и есть.
За исключением приватных окон, где суют about:privatebrowsing

browser.startup.homepage - ... не помогает

Вот только что назначил этой настройке значение
data:text/plain;charset=utf-8,Хомка


И, даже без никакого перезапуска,
Ctrl+N — и вот оно, новое окно со вкладкой с надписью «Хомка».
Короче — у тебя что-то сломано.

Отсутствует

 

№1653503-07-2022 21:55:35

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 258
UA: Firefox 102.0

Re: Custom Buttons

Dumby
Снят вопрос .
[label="Новая вкладка"] .tab-icon-image{ list-style-image: url(chrome://global/skin/icons/Portrait.png) !important; }
Или
tab:not([labeldirection]) .tab-icon-image{ list-style-image: url(chrome://global/skin/icons/Portrait.png) !important; }

Отредактировано ВВП (04-07-2022 17:13:11)

Отсутствует

 

№1653604-07-2022 17:17:24

KOMMEHTATOP
Участник
 
Группа: Members
Зарегистрирован: 13-10-2015
Сообщений: 48
UA: Firefox 102.0

Re: Custom Buttons

Доброго времени.
1. Выполнил :
а это xpinstall.signatures.required =false и
extensions.experiments.enabled=true
extensions.legacy.enabled=true
toolkit.legacyUserProfileCustomizations.stylesheets=true

2. Внес изменения в скрипт config.js
Для версии 99 и выше:
https://forum.mozilla-russia.org/viewtopic.php?id=70326
3. Обновил расширение  Custom Buttons из поста :
https://forum.mozilla-russia.org/viewtopic.php?pid=799866#p799866

Запустил браузер: пропали все кнопки., чтобы все работало нормально - Что еще исправить?


Distance Subordinatio!

Отсутствует

 

№1653704-07-2022 18:06:57

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

Re: Custom Buttons

KOMMEHTATOP пишет

2. Внес изменения в скрипт config.js

Попробуйте это


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

Отсутствует

 

№1653804-07-2022 18:08:37

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 258
UA: Firefox 102.0

Re: Custom Buttons

KOMMEHTATOP
congig.js

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

Выделить код

Код:

//
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);
	}
	

	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);}

//
(async xp => {
	var imprt, ids = [
		"custombuttons@xsms.org",
	];
	if (Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime).inSafeMode) return;

	if (Cr.NS_ERROR_FILE_TARGET_DOES_NOT_EXIST)
		var {XPIInternal} = (imprt = url => Cu.import(url, {}))(xp);

	else { // Fx 101+
		var g = Cu.getGlobalForObject(Cu), te = new g.TextEncoder();
		var imp = g.ChromeUtils.import, {XPIInternal} = imp(xp);
		var ios = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
		var rph = ios.getProtocolHandler("resource").QueryInterface(Ci.nsIResProtocolHandler);
		imprt = (url, id) => {
			var subst = te.encode(id).join("");
			rph.setSubstitution(subst, ios.newURI(url));
			return imp(`resource://${subst}/`);
		}
	}
	var load = async (file, id) => {
		var rootURI = XPIInternal.getURIForResourceInFile(file, "");
		imprt(rootURI.resolve("startup.jsm"), id).start(rootURI);
	}
	var proto = XPIInternal.BootstrapScope.prototype;
	var func = proto._beforeCallBootstrapMethod;

	proto._beforeCallBootstrapMethod = () => {
		proto._beforeCallBootstrapMethod = func;
		for(var {id, loader, file} of XPIInternal.XPIStates.enabledAddons())
			ids.includes(id) && !loader && load(file, id);
	}
})("resource://gre/modules/addons/XPIProvider.jsm");

//
try {
    (function() {
        var Cu = Components.utils;
        var {Services} = Cu.import("resource://gre/modules/Services.jsm", {});
        var sandbox = Cu.Sandbox(Services.scriptSecurityManager.getSystemPrincipal(), {
            wantComponents: true,
            sandboxName: "user_chrome_files"
        });
        sandbox.Services = Services;
        Cu.evalInSandbox(`
            var Ci = Components.interfaces;
            var config = {
                subScript: {},
                observe: function(aSubject, aTopic, aData) {
                    if (aTopic == "domwindowopened" && aSubject instanceof Ci.nsIDOMWindow) {
                        aSubject.addEventListener("DOMContentLoaded", function domLoad() {
                            aSubject.removeEventListener("DOMContentLoaded", domLoad, true);
                            var loc = aSubject.location;
                            if (loc && loc.protocol == "chrome:") {
                                try {
                                    config.subScript.user_chrome.loadIntoWindow(aSubject, loc.href);
                                } catch(ex) { }
                            }
                        }, true);
                    } else if (aTopic == "profile-after-change") {
                        Services.obs.removeObserver(config, "profile-after-change");
                        var file = Services.dirsvc.get("UChrm", Ci.nsIFile);
                        file.append("user_chrome_files");
                        file.append("user_chrome.manifest");
                        if (!file.exists() || !file.isFile()) {
                            this.removeObs();
                            return;
                        }
                        try {
                            var reg = Components.manager.QueryInterface(Ci.nsIComponentRegistrar);
                            reg.autoRegister(file);
                        } catch(ex) {
                            this.removeObs();
                            return;
                        }

                        try {
                            Services.scriptloader.loadSubScript("chrome://user_chrome_files/content/user_chrome.js", this.subScript, "UTF-8");
                        } catch(ex) {
                            this.removeObs();
                        }
                    }
                },
                removeObs: function() {
                    Services.obs.removeObserver(config, "domwindowopened");
                }
            };
            Services.obs.addObserver(config, "profile-after-change", false);
            Services.obs.addObserver(config, "domwindowopened", false);
        `, sandbox);
    })();
} catch(ex) {Cu.reportError(ex);}


В defaults
pref("general.config.obscure_value", 0);
pref("general.config.filename", "config.js");
pref("general.config.sandbox_enabled", false);
CB - 26 не меньше. Профиль очистить . startupCache

Отредактировано ВВП (04-07-2022 18:11:27)

Отсутствует

 

№1653904-07-2022 19:22:27

KOMMEHTATOP
Участник
 
Группа: Members
Зарегистрирован: 13-10-2015
Сообщений: 48
UA: Firefox 102.0

Re: Custom Buttons

Farby :beer: Все ЗАРАБОТАЛО!.
ВВП :beer: Все ЗАРАБОТАЛО! (просто скрипт congig.js-внес)
!!! ОЧИСТИЛ!!! папку startupCache - в профие !!!
И кнопка появилась:
Snimok.1656952184.png

Отредактировано KOMMEHTATOP (08-07-2022 15:49:26)


Distance Subordinatio!

Отсутствует

 

№1654004-07-2022 20:34:02

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 258
UA: Firefox 102.0

Re: Custom Buttons

Dumby
view-source:https://www.youtube.com/
Как бы на все ссылки сделать , на все,а не только на youtube
Хочу влепить иконку на "исходный код" view-source: подставил бы в js (знаю где)

Отсутствует

 

№1654104-07-2022 21:27:33

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

Re: Custom Buttons

ВВП пишет

подставил бы в js (знаю где)

Ну так, может, поделись адресом. Что за интриганство.

Отсутствует

 

№1654204-07-2022 22:26:18

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 258
UA: Firefox 101.0

Re: Custom Buttons

Dumby
browser.js

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

Выделить код

Код:

var gPageIcons = {
  "about:home": "chrome://global/skin/icons/Portrait.png",
  "about:newtab": "chrome://global/skin/icons/Portrait.png",
  "about:welcome": "chrome://global/skin/icons/Portrait.png",
  "about:blank": "chrome://global/skin/icons/Portrait.png",
  "about:config": "chrome://global/skin/icons/Portrait.png",
  "about:about": "chrome://global/skin/icons/Portrait.png",
  "about:privatebrowsing": "chrome://global/skin/icons/Portrait.png",
};

var gInitialPages = [
  "about:blank",
   "about:config",
  "about:newtab",
  "about:home",
  "about:privatebrowsing",
  "about:welcomeback",
  "about:sessionrestore",
  "about:welcome",
  "about:newinstall",
];


tabbrowser.js
скрытый текст

Выделить код

Код:

/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*-
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

{
  // start private scope for gBrowser
  /**
   * A set of known icons to use for internal pages. These are hardcoded so we can
   * start loading them faster than ContentLinkHandler would normally find them.
   */
 const FAVICON_DEFAULTS = {
    "about:newtab": "chrome://global/skin/icons/Portrait.png",
    "about:home": "chrome://global/skin/icons/Portrait.png",
    "about:config": "chrome://global/skin/icons/Portrait.png",
    "about:blank": "chrome://global/skin/icons/Portrait.png",
   
      
  };

Отредактировано ВВП (04-07-2022 22:27:17)

Отсутствует

 

№1654305-07-2022 14:11:15

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

Re: Custom Buttons

ВВП пишет

browser.js
tabbrowser.js

Не, это всё не то.


Если хочется что-нибудь «подставить в js»,
то можно попробовать изменить метод onPageShow() в
resource:///actors/LinkHandlerChild.jsm примерно как-то так

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

Выделить код

Код:

…

  onPageShow(event) {
    if (event.target != this.document) {
      return;
    }

    if (this.document.documentURIObject?.schemeIs("view-source"))
      return this.sendAsyncMessage("Link:SetIcon", {
        canUseForTab: true, iconURL: "chrome://global/skin/icons/Portrait.png"
      });

    this.addRootIcon();

    if (this._iconLoader) {
      this._iconLoader.onPageShow();
    }
  }

Отсутствует

 

№1654405-07-2022 14:21:51

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 258
UA: Firefox 102.0

Re: Custom Buttons

Dumby
Круто...

Отсутствует

 

№1654512-07-2022 11:00:29

muxtair
Участник
 
Группа: Members
Зарегистрирован: 21-05-2018
Сообщений: 26
UA: Firefox 103.0

Re: Custom Buttons

тоже пропали кнопки с CB с какой версии не запомнил.
пробовал как советовали тут выше


не помогло. где можно посмотреть какие кнопки были и их код. :cry:
сам СВ работает.

Отредактировано muxtair (12-07-2022 12:30:51)

Отсутствует

 

№1654613-07-2022 13:06:01

v0doley
Участник
 
Группа: Members
Зарегистрирован: 13-07-2022
Сообщений: 2
UA: Firefox 102.0

Re: Custom Buttons

ВВП пишет

xrun1Добавил в custom_script.js(async url => ChromeUtils.import(url))(    "chrome://user_chrome_files/content/custom_scripts/AutoCopyMin.jsm");второй, то кнопка для переключения

подскажите
куда второй код вставлять?

Спасибо

Отредактировано v0doley (13-07-2022 13:06:48)

Отсутствует

 

№1654713-07-2022 13:16:16

muxtair
Участник
 
Группа: Members
Зарегистрирован: 21-05-2018
Сообщений: 26
UA: Firefox 103.0

Re: Custom Buttons

muxtair пишет

не помогло.

сцуко, СВ был ...0.25 :dumb::rock:

Отсутствует

 

№1654813-07-2022 21:39:20

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

Re: Custom Buttons

v0doley
Кладёте отдельным файлом первый код №16526 в файл chrome://user_chrome_files/content/custom_scripts/AutoCopyMin.jsm

В custom_script.js вставляете код

Выделить код

Код:

(async url => ChromeUtils.import(url))(
    "chrome://user_chrome_files/content/custom_scripts/AutoCopyMin.jsm"
);


Создаёте новую кнопку в CB и кладёте туда второй код из №16526.

Отсутствует

 

№1654914-07-2022 05:51:33

v0doley
Участник
 
Группа: Members
Зарегистрирован: 13-07-2022
Сообщений: 2
UA: Firefox 102.0

Re: Custom Buttons

xrun1 пишет

Создаёте новую кнопку в CB и кладёте туда второй код из №16526.

Спасибо за ответ.
Но, копирует при любом состоянии кнопки.
Код, что во вкладке /*CODE*/, что в /*Initialization Code*/, без изменения.
UCF "дорестайлинговый"

PS: проделал всё с нуля, работает.

Ещё раз
Спасибо.

Отредактировано v0doley (14-07-2022 06:43:06)

Отсутствует

 

№1655016-07-2022 19:21:48

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 258
UA: Firefox 102.0

Re: Custom Buttons

Dumby
Нужен код на это . Никак не выходит.
97pwatmh.jpg

Отсутствует

 

Board footer

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