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

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№100104-08-2023 11:41:23

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

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

Viatcheslav
Ну тогда как вариант с помощью кнопки из Add Toolbar Buttons!
2023-08-04_113956.png


Win7

Отсутствует

 

№100204-08-2023 11:43:21

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

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

kokoss
Спасибо, двоение вылечилось.:beer:
Viatcheslav
Может, подойдёт очистка поля прокруткой колёсика мышки?

Отсутствует

 

№100304-08-2023 11:57:32

Viatcheslav
Участник
 
Группа: Members
Откуда: г. Бобруйск, Беларусь
Зарегистрирован: 23-11-2016
Сообщений: 323
UA: Firefox 114.0

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

Спасибо, но там много лишнего... :/

Отсутствует

 

№100404-08-2023 11:59:50

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

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

Viatcheslav пишет

Спасибо, но там много лишнего...

Достаточно этого:

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

Выделить код

Код:

// Очистить панель адреса или поиска прокруткой колёсиком мыши на панели
// https://forum.mozilla-russia.org/viewtopic.php?pid=788229#p788229
(this.clearsearchurlbar = {
            init(that) {
                for (let el of (this.urlsearcbar = document.querySelectorAll("#urlbar,#searchbar")))
                    el.addEventListener("wheel", this);
                that.unloadlisteners.push("clearsearchurlbar");
            },
            handleEvent(e) {
                e.target.value = "";
            },
            destructor() {
                for (let el of this.urlsearcbar)
                    el.removeEventListener("wheel", this);
            },
        }).init(this);


Win7

Отсутствует

 

№100504-08-2023 19:51:27

Viatcheslav
Участник
 
Группа: Members
Откуда: г. Бобруйск, Беларусь
Зарегистрирован: 23-11-2016
Сообщений: 323
UA: Firefox 114.0

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

kokoss пишет

Достаточно этого:

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

Выделить код

Код:

// Очистить панель адреса или поиска прокруткой колёсиком мыши на панели
// https://forum.mozilla-russia.org/viewtopic.php?pid=788229#p788229
(this.clearsearchurlbar = {
            init(that) {
                for (let el of (this.urlsearcbar = document.querySelectorAll("#urlbar,#searchbar")))
                    el.addEventListener("wheel", this);
                that.unloadlisteners.push("clearsearchurlbar");
            },
            handleEvent(e) {
                e.target.value = "";
            },
            destructor() {
                for (let el of this.urlsearcbar)
                    el.removeEventListener("wheel", this);
            },
        }).init(this);

Не знаю,  в чём дело, но не работает :angry:

Добавлено 04-08-2023 19:58:52

kokoss пишет

Ну тогда как вариант с помощью кнопки из Add Toolbar Buttons!
https://www.upload.ee/image/15536116/2023-08-04_113956.png

Слава Богу, хоть это сработало :beer:

Отредактировано Viatcheslav (04-08-2023 19:58:52)

Отсутствует

 

№100604-08-2023 20:09:22

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

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

Viatcheslav пишет

Не знаю,  в чём дело, но не работает

У меня при добавлении в custom_script_win.js  тоже не работает в строке поиска, только в адресной строке, поэтому предложил ATB.


Win7

Отсутствует

 

№100705-08-2023 06:25:55

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

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

b0ttle пишет

По ссылке на баг, прочитал такое "IOUtils and PathUtils offers async alternatives", но дуб дубом в этом. Это что-то вроде замены FileUtils.getFile()?

Здесь, наверно, упор скорее на «async»,
и, «alternatives» — это скорее «alternatives» для них, а не для нас,
им-то "UChrm" нафик не сдался.


Вобщем, как-то так

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

Выделить код

Код:

(async parts => Services.obs.addObserver(function quit(s, topic, data) {
	Services.obs.removeObserver(quit, topic);
	//if (data == "restart") return;
	var file = Services.dirsvc.get("UChrm", Ci.nsIFile);
	parts.forEach(file.append);
	file.launch();
}, "quit-application"))(["user_chrome_files", "_", "sqlite[Fx].vbs"]);

Dobrov пишет

Переделал обработчик нажатий клавиш, проверь, так лучше?

Да, так чуть лучше.
Плюс, три три дебаг-строки рядом, удобно закомментировать, если что.
Зачем return при не 'javascript.enabled' понять не смог.

Dumby — посмотри, как с этим вариантом переделать keydown_win = e => ……
Digit1() { console.log("Digit1 Page+Input Only Apple");}, true, -1, "macosx"

Четыре сущности разделённые запятой. Функция и три примитива.
Синтаксис функции такой, какой возможен, вроде как, только в объектах и в классах.
Так что неясно, где бы такая запись могла бы быть расположена.


kokoss пишет

У меня при добавлении в custom_script_win.js  тоже не работает в строке поиска, только в адресной строке

Если под «при добавлении» имеется в виду добавление в конец,
то ничего удивительного что работает лишь частично,
ведь custom_script_win.js исполняется по событию "DOMContentLoaded"
а к этому моменту #searchbar'а ещё нет.


Код предназначен быть добавленным после строки
«// Здесь может быть ваш код который сработает по событию "load"»


Об этом как-бы намекает констукция вида (this.something = {…}).init(this);
Если в терминах встроенного в CustomStylesScripts.jsm загрузчика,
это — scriptschrome: { …, load: [ …, { path: "…", ucfobj: true, }, ] },

Отсутствует

 

№100805-08-2023 07:46:48

OmTatSat
Участник
 
Группа: Members
Зарегистрирован: 25-06-2015
Сообщений: 82
UA: Firefox 102.0

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

Есть скрипт который нормально работает на странице about:addons с консоли
Как сделать чтобы он автоматом запускался при открытии about:addons?
пробовал создать .js но что-то оно селекторы не считывает и походу не задаёт( может есть нюанс какой-то?

Отсутствует

 

№100905-08-2023 10:27:09

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

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

OmTatSat пишет

Как сделать чтобы он автоматом запускался при открытии about:addons?

Допустим, создаём в папке custom_scripts
файл about_addons_test.js в котором прописываем своё js-добро.


Тогда, в CustomStylesScriptsChild.jsm
в массив UcfStylesScripts.scriptscontent.pageshow
добавляем
{ path: "about_addons_test.js", urlregxp: /about:addons/ },


Теперь, убеждаемся, что в настройках UCF проставлена галка
[✔] Включить стили и скрипты для контента [about:, chrome:, moz-extension:]


Всё. Рестарт с очисткой кэша, и должно работать.


Если не работает, то на Firefox, древнее чем 115,
следует удалить папку startupCache вручную.

пробовал создать .js но что-то оно

Это предложение угадать его содержимое?

Отредактировано Dumby (05-08-2023 10:33:15)

Отсутствует

 

№101005-08-2023 12:26:31

Dobrov
Участник
 
Группа: Members
Зарегистрирован: 04-10-2011
Сообщений: 475
UA: Firefox 97.0

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

Dumby пишет

Зачем return при не 'javascript.enabled' понять не смог.

Для временного отключения кода перехвата клавиш - для отладки или если в системе такие же есть.
2023-08-05-17-20-31.png

Отсутствует

 

№101105-08-2023 12:35:24

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

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

Dumby пишет

Код предназначен быть добавленным после строки
«// Здесь может быть ваш код который сработает по событию "load"»

Туда и добавлял, сейчас проверил -> работает, дааааа :angry:


Win7

Отсутствует

 

№101205-08-2023 13:21:10

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

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

Dumby пишет

Вобщем, как-то так

Классно, отрабатывает лучше чем было.

Отсутствует

 

№101305-08-2023 15:18:56

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

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

Dobrov пишет

Для временного отключения кода перехвата клавиш - для отладки

Почему тогда именно эта настройка,
а не какая-нибудь другая, или вообще своя.

или если в системе такие же есть

Это какая-то разновидность дискриминации?
Типа: «
        Запретил исполняться контентским скриптам?
        Ну тогда и с этого скрипта получишь шиш.
».
Или просто связывание несвязанных вещей?

Отсутствует

 

№101405-08-2023 16:26:16

OmTatSat
Участник
 
Группа: Members
Зарегистрирован: 25-06-2015
Сообщений: 82
UA: Firefox 102.0

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

Dumby пишет
OmTatSat пишет

Как сделать чтобы он автоматом запускался при открытии about:addons?

Допустим, создаём в папке custom_scripts
файл about_addons_test.js в котором прописываем своё js-добро.


Тогда, в CustomStylesScriptsChild.jsm
в массив UcfStylesScripts.scriptscontent.pageshow
добавляем
{ path: "about_addons_test.js", urlregxp: /about:addons/ },


Теперь, убеждаемся, что в настройках UCF проставлена галка
[✔] Включить стили и скрипты для контента [about:, chrome:, moz-extension:]


Всё. Рестарт с очисткой кэша, и должно работать.


Если не работает, то на Firefox, древнее чем 115,
следует удалить папку startupCache вручную.

пробовал создать .js но что-то оно

Это предложение угадать его содержимое?

Спасибо огромное!) Голову сломал, никак не получалось)
Правда пришлось перейти на новый загрузчик, и пока восстановить работу всего зверинца не удаётся, зато поиск-фильтр уже есть в about:addons как давным давно было по дефолту !)
Например у меня работал CustomButtons, после смены загрузчика кнопка в сайдбаре дополнений пропала, хотя само приложение есть, странно( может из-за отвалившегося disable-add-on-signing.js ? хотя я и пробовал его аж в двух местах прописать
Потом был удобные менеджер включенных отключенных скриптов https://github.com/xiaoxiaoflood/firefox-scripts#instructions ссылка utils → I'm interested in both scripts and extensions https://raw.githubusercontent.com/xiaoxiaoflood/firefox-scripts/master/utils.zip
и styloaix.uc.js тоже не ясно куда его прописать, в какой подпункт?
может есть мануал, как определять какой скрипт и стиль куда прописывать?

Отсутствует

 

№101505-08-2023 17:09:44

Dobrov
Участник
 
Группа: Members
Зарегистрирован: 04-10-2011
Сообщений: 475
UA: Firefox 97.0

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

Dumby пишет

Почему тогда именно эта настройка, а не какая-нибудь другая, или вообще своя.

3 уже добавлял, но в итоге в UCF только одну оставил. К javascript.enabled привязал просто как пример, кому надо, уберут!

или если в системе такие же есть

Да, на макос с Meta+Shift+Буква много системных сочетаний, поэтому и просил постфикс операционки добавить в перехват нажатий клавиш.

Отсутствует

 

№101605-08-2023 19:21:06

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

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

OmTatSat
Тут не все так просто, из-за этого и не получится такой удобный менеджер скриптов прикрутить, наверно придется всю ucf тогда переделывать. Мне тоже у него понравился тот менеджер, очень удобный. Но, возможно, многое не прикрутишь, как в ucf. Потому и остановился на ucf. Здесь к тому же что-то подскажут, что-то обновляется. У каждого свой плюсы и минусы, и свой особенности.

Отсутствует

 

№101705-08-2023 19:23:53

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

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

OmTatSat пишет

Правда пришлось перейти на новый загрузчик
работал CustomButtons
из-за отвалившегося
был удобные менеджер

Не понял. Что значит «пришлось» ?


UCF либо развёрнут, либо нет.
Если развёрнут, значит и загрузчик есть, на него не надо «переходить».
Ты либо используешь его, либо нет.


Остальное, иные uc-экосистемы, или CB, могут и должны
работать независимо и параллельно, и, если есть положительный опыт взаимодействия с ними,
то, без особой необходимости, и уверености в том, что «я могу перейти», ничего с ними делать не следует.


Dobrov пишет

extensions.user_chrome_files.debug

Другое дело.

Отредактировано Dumby (05-08-2023 19:24:55)

Отсутствует

 

№101805-08-2023 21:33:49

OmTatSat
Участник
 
Группа: Members
Зарегистрирован: 25-06-2015
Сообщений: 82
UA: Firefox 102.0

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

b0ttle пишет

OmTatSat
Тут не все так просто, из-за этого и не получится такой удобный менеджер скриптов прикрутить, наверно придется всю ucf тогда переделывать. Мне тоже у него понравился тот менеджер, очень удобный. Но, возможно, многое не прикрутишь, как в ucf. Потому и остановился на ucf. Здесь к тому же что-то подскажут, что-то обновляется. У каждого свой плюсы и минусы, и свой особенности.

кстати оказалось, они оба вместе живут себе)) просто конфиг config.js который в папке Firefox я сначала заменил на UCF а потом решил попробовать объединить, и волшебным образом завелось)

скрытый текст
https-forum-mozilla-russia-org-post-php-tid-76642-qid-806409-Mozilla-Firefox-08-05-23-21-25-19.png

Выделить код

Код:

// UserChromeFiles Vitaliy V. http://forum.mozilla-russia.org/viewtopic.php?id=76642
lockPref('xpinstall.signatures.required', false);
lockPref('extensions.install_origins.enabled', false);
try {
  let cmanifest = Cc['@mozilla.org/file/directory_service;1'].getService(Ci.nsIProperties).get('UChrm', Ci.nsIFile);
  cmanifest.append('utils');
  cmanifest.append('chrome.manifest');
  Components.manager.QueryInterface(Ci.nsIComponentRegistrar).autoRegister(cmanifest);

  Cu.import('chrome://userchromejs/content/BootstrapLoader.jsm');
} catch (ex) {};

try {
  Cu.import('chrome://userchromejs/content/userChrome.jsm');
} catch (ex) {};

(async () => { Cu.evalInSandbox(`
var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm"), user_chrome_files_sandbox = {
	init() {
		Services.obs.addObserver(this, "domwindowopened");
		Services.obs.addObserver(this, "profile-after-change");
	},
	observe(aWindow, aTopic, aData) {
		Services.obs.removeObserver(this, "profile-after-change");
		this.observe = (window, topic, data) => {
			if (!(window instanceof Ci.nsIDOMChromeWindow)) return;
			var docElementInserted = e => {
				var win = e.target.defaultView;
				if (win instanceof Ci.nsIDOMChromeWindow)
					user_chrome.initWindow(win);
			};
			window.windowRoot.addEventListener("DOMDocElementInserted", docElementInserted, true);
			window.addEventListener("load", e => {
				window.addEventListener("unload", e => {
					window.windowRoot.removeEventListener("DOMDocElementInserted", docElementInserted, true);
				}, { once: true });
			}, { once: true });
		};
		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 {
			Components.manager.QueryInterface(Ci.nsIComponentRegistrar).autoRegister(file);
			Services.scriptloader.loadSubScript("chrome://user_chrome_files/content/user_chrome.js", globalThis, "UTF-8");
		} catch(ex) {
			this.removeObs();
			return;
		}
		if (aTopic === "domwindowopened")
			this.observe(aWindow, aTopic, aData);
	},
	removeObs() {
		Services.obs.removeObserver(this, "domwindowopened");
	},
};
user_chrome_files_sandbox.init();`, Cu.Sandbox(Cc["@mozilla.org/systemprincipal;1"].createInstance(Ci.nsIPrincipal), { wantComponents: true, sandboxName: "UserChromeFiles", wantGlobalProperties: ["ChromeUtils"],}));
})();

Добавлено 05-08-2023 21:43:17

Dumby пишет
OmTatSat пишет

Правда пришлось перейти на новый загрузчик
работал CustomButtons
из-за отвалившегося
был удобные менеджер

Не понял. Что значит «пришлось» ?


UCF либо развёрнут, либо нет.
Если развёрнут, значит и загрузчик есть, на него не надо «переходить».
Ты либо используешь его, либо нет.


Остальное, иные uc-экосистемы, или CB, могут и должны
работать независимо и параллельно, и, если есть положительный опыт взаимодействия с ними,
то, без особой необходимости, и уверености в том, что «я могу перейти», ничего с ними делать не следует.

Я скриптами разбираюсь на аматорском уровне, может и не правильно термин применил)
Пришлось, значит, чтобы получить желаемое, пришлось рискнуть своим налаженным пространством :D
Но конечно с бекапами всё это дело с легкостью на душе происходит.
Тем более что удалось их оба задействовать.
Спасибо за помощь.

Добавлено 05-08-2023 22:00:24
Вот как сам поиск - фильтр в about:addons получился
не идеально, но дело делает, может кто-то ещё допилит, буду благодарен)
https://i.ibb.co/DQbztvq/Mozilla-Firefo … -49-20.png
https://i.ibb.co/nP9wSH5/Mozilla-Firefo … -49-12.png
https://i.ibb.co/D1fsk5T/Mozilla-Firefo … -49-00.png

Выделить код

Код:

// Создание элементов

const input = document.createElement('input');

input.id = 'search';

input.type = 'text';

const button = document.createElement('button');

button.id = 'filter';

button.innerText = 'Найти';

const search = document.querySelector('.main-search > search-addons:nth-child(2)');

// Прикрепление к нужному элементу

search.appendChild(input);

search.appendChild(button);

// Обработчики событий

button.addEventListener('click', () => {

const searchTerm = input.value;

filterElements("");

filterElements(searchTerm);

});

input.style.position = 'relative';

input.style.zIndex = '999';

input.style.left = '300px';

input.style.top = '-37px';

input.style.maxheight = '13px';

input.style.height = '15px';

button.style.position = 'relative';

button.style.zIndex = '999';

button.style.left = '300px';

button.style.top = '-35px';

button.style.height = '20px';

function filterElements(searchTerm) {

const names = document.querySelectorAll('h3.addon-name a.addon-name-link');

const descs = document.querySelectorAll('.addon-description');

descs.forEach((desc, i) => {

console.log('Проверяем элемент', desc);

const textElem = desc.firstChild;

if (!textElem) {

const text = "emp";

foundDesc = false;

} else {

text = textElem.textContent;

foundDesc = text.includes(searchTerm);

;console.log('описание:', text , 'foundDesc' , foundDesc);

}

const name = names[i];

if (!name ) {

return

}

const nametext = name.textContent;

let foundName = name.textContent.toLowerCase().includes(searchTerm);

; console.log('название:', nametext , 'foundName' , foundName , 'описание:', text , 'foundDesc' , foundDesc);

if (!foundName && !foundDesc) {

name.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.style.display = 'none';

console.log('Скрываем название:', nametext , 'foundName' , foundName , 'описание:', text , 'foundDesc' , foundDesc);

} else {

name.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.style.display = 'unset';

console.log('Показываем название:', nametext , 'foundName' , foundName , 'описание:', text , 'foundDesc' , foundDesc);

}

});

}

Отредактировано OmTatSat (05-08-2023 22:00:24)

Отсутствует

 

№101905-08-2023 23:29:53

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

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

OmTatSat
Мне кажется, или у вас скриншоты странные?) А так, да, CB тоже работает вместе с ucf, а вот про xiaoxiaoflood, не знал.
Мне казалось, что это как иметь 4 антивируса, или как tampermonkey и greasemonkey, главное, чтобы не конфликтовало и не потеряться во всем этом. А так, почему нет.
add: Маленькие какие-то, ничего не видно. Или только у меня так? Те которые в ссылках, в спойлере нормально отображается.

Отредактировано b0ttle (06-08-2023 10:41:48)

Отсутствует

 

№102006-08-2023 08:30:49

OmTatSat
Участник
 
Группа: Members
Зарегистрирован: 25-06-2015
Сообщений: 82
UA: Firefox 102.0

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

b0ttle пишет

OmTatSat
Мне кажется, или у вас скриншоты странные?) А так, да, CB тоже работает вместе с ucf, а вот про xiaoxiaoflood, не знал.
Мне казалось, что это как иметь 4 антивируса, или как tampermonkey и greasemonkey, главное, чтобы не конфликтовало и не потеряться во всем этом. А так, почему нет.

Хз) смотря что вы считаете странностью :D
Согласен, как минимум просмотреть чтобы дублей не было

Отсутствует

 

№102107-08-2023 09:11:04

antialt
Участник
 
Группа: Members
Зарегистрирован: 18-01-2017
Сообщений: 9
UA: Firefox 117.0

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

Подскажите, как вернуть к жизни Add Toolbar Buttons в FF 117 :)?

Отсутствует

 

№102207-08-2023 17:00:08

fuchsfan
Участник
 
Группа: Members
Зарегистрирован: 07-08-2023
Сообщений: 130
UA: Firefox 116.0

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

@Dumby
Большая просьба исправить скрипт разделителей special_widgets.js, чтобы загружался вне ucf старым методом от Aris-t2 или Endor8.

Отсутствует

 

№102307-08-2023 17:53:00

stvol
Участник
 
Группа: Members
Зарегистрирован: 17-09-2013
Сообщений: 422
UA: Firefox 104.0

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

Dumby пишет

Можно заменить все (два) « instanceof Ci.nsIDOMChromeWindow» на «.isChromeWindow»

А где это надо менять?


Отсутствует

 

№102407-08-2023 18:04:46

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

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

stvol пишет

А где это надо менять?

https://forum.mozilla-russia.org/viewto … 67#p805867


Win7

Отсутствует

 

№102507-08-2023 19:56:28

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

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

fuchsfan пишет

@Dumby
Большая просьба исправить скрипт разделителей special_widgets.js, чтобы загружался вне ucf старым методом от Aris-t2 или Endor8.

Что значит «исправить»?
Исправить можно баг или поломку,
а «чтобы загружался …» — это не называется «исправить».


Вобщем, меняем первую и последнюю (не пустую) строку на такие
(async url => location != url || await delayedStartupPromise || ({
}).init("customizationready"))("chrome://browser/content/browser.xhtml");


И, вместо методов init() и destructor() один только init(), такой:

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

Выделить код

Код:

//
    init(type) {
        window.addEventListener(type, this);
        window.addEventListener("unload",
            () => window.removeEventListener(type, this)
        , {once: true});
    },


И про special_widget.css не забываем.

Отсутствует

 

Board footer

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