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

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

№65118-03-2023 18:53:36

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

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

xrun1
Я тут пока осваиваюсь, непонятно в какой файл и какой код добавлять. Только дошло, что надо редактировать в CustomStylesScripts.jsm, и еще один файл. Смотрел по примеру. До этого делал иначе. Возможно дело в этом. А у вас в special_widgets есть "разделитель" и "свободное пространство"? У меня лишь "растягивающийся интервал". Других почему-то нет.

Отредактировано b0ttle (18-03-2023 20:41:04)

Отсутствует

 

№65218-03-2023 19:39:22

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

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

b0ttle пишет

А у вас в special_widgets есть "разделитель" и "свободное пространство"? У меня лишь "растягивающийся интервал". Других почему-то нет.

Что бы появились в файле CustomStylesScripts.jsm включите пункты;

// { path: "special_widget.css", type: "USER_SHEET", sheet(f) { preloadSheet(this, f); }, }, // <-- Special Widgets
// { path: "special_widgets.js", ucfobj: true, }, // <-- Special Widgets

и в настройках user_chrome_files эти настройки;

Стили -> Для докум. всех окон [ChromeOnly]
Скрипты -> Для докум. окна браузера [ChromeOnly]

и  после этого перезапустить браузер с очисткой кэша запуска.


Win7

Отсутствует

 

№65318-03-2023 20:34:33

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

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

Спасибо за стиль с доп.панелями, помогло. С интервалами тоже решилось.
Не понимаю, что значит по событию. Так же, для всех или одного окна, и [ChromeOnly]. Пример есть, но все равно запутался. Раньше я ложил код, получается в load. А в примере, код обычно в другое ложат. И вот тут и путаница) Можно немного подробнее, если не затруднит.

Добавлено 18-03-2023 20:39:02
kokoss
Нашел ссылку на ваш пример. У вас пустой custom_script.js. В примере dobrov-а, там какой-то код. Если добавлять через CustomStyleScripts.jsm, то получается эти файлы не сильно важны? Для чего тогда они?

Отредактировано b0ttle (18-03-2023 20:41:18)

Отсутствует

 

№65418-03-2023 22:38:25

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

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

b0ttle
В файл custom_script.js добавляются коды кнопок, если не нужны, то можете отключить в файле CustomStylesScripts.jsm  пункт -> { path: "custom_script.js", },


Win7

Отсутствует

 

№65519-03-2023 15:00:26

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

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

В расширении Async Run Applications 2021.9.7 правка parent.js тоже сработала.
Запуск приложений с аргументом %OpenCurrentURI открывал текущую страницу, а из clipboard с %OpenClipboardURI нет.
Dumby ещё раз спасибо.

Отсутствует

 

№65619-03-2023 22:09:37

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

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

Dumby
Я задавал вопрос в теме по CSS, но судя по тому, что там я ответа не получил, скорее всего стилями этого сделать не получится.
Суть вот в чём.
Сейчас новая кнопка "Расширения" прибита намертво.
Возможно ли с помощью скрипта как-то её открепить, чтобы была возможность переместить на любую другую панель?


P.S. Если на любую другую панель очень сложно, то лично меня устроил бы перенос этой кнопки на "Дополнительную панель" из UCF.


«The Truth Is Out There»

Отсутствует

 

№65720-03-2023 09:18:16

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

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

unter_officer пишет

Возможно ли с помощью скрипта как-то её открепить, чтобы была возможность переместить на любую другую панель?

Не располагаю сейчас временем задуматься.
Может так сойдёт, надеюсь панель не колапснутая.


custom_script_win.js, "DOMContentLoaded" (не "load").

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

Выделить код

Код:

(async id => {
	if (!Services.prefs.getStringPref("browser.uiCustomization.state").includes(`"${id}"`))
		await delayedStartupPromise;
	var btn = document.getElementById(id);
	btn.setAttribute("removable", true);
	document.getElementById("nav-bar-customization-target").append(btn);
})("unified-extensions-button");

Отредактировано Dumby (20-03-2023 09:18:51)

Отсутствует

 

№65820-03-2023 12:00:07

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

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

Dumby
Супер! Огромное спасибо!


«The Truth Is Out There»

Отсутствует

 

№65920-03-2023 22:40:02

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

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

Можно ли сделать код, который бы открывал ссылки правым кликом? Может есть у кого?
И еще. Кто знает, что делает menubarVisibilityChance.js. Может он не работает?

Отредактировано b0ttle (21-03-2023 00:28:03)

Отсутствует

 

№66021-03-2023 04:35:24

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

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

b0ttle
А расширение не устроит? https://addons.mozilla.org/ru/firefox/a … ght-links/

Отсутствует

 

№66121-03-2023 10:33:43

6e73epo
Участник
 
Группа: Members
Зарегистрирован: 06-05-2022
Сообщений: 207
UA: Firefox 106.0

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

Dumby, возможно ли адаптировать код, который делает кнопку съемной, под config.js?

Отредактировано 6e73epo (21-03-2023 10:35:35)

Отсутствует

 

№66221-03-2023 12:05:40

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

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

xrun1
Он у меня как раз стоит, думал может попроще сделать. Так как пользуюсь лишь этим кликом. По идее, не так важно. Просто хотелка)
А за что отвечают файлы из примера в шапке, не знайте? Один связан с каким-то поиском, другой не ясно. Так и не разобрался.

Отредактировано b0ttle (21-03-2023 12:09:02)

Отсутствует

 

№66321-03-2023 12:39:04

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

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

b0ttle
Там много скриптов. Себе собирал по мере чтения темы и нужности лично мне.

Отсутствует

 

№66421-03-2023 13:34:37

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

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

6e73epo пишет

код, который делает кнопку съемной

Не совсем так.
Вопрос был в том, чтобы переместить её в хорошее место.


Она, вроде как, задумана использоваться не только
чтобы в неё мышью тыкать, но ещё и как анкор для каких-то нотификаций.
Поэтому её и скрывают не через display: none.
Ну, это всего лишь я так предполагаю.


Вобщем, не нашёл сходу подходящего топика, поэтому "chrome-document-interactive".

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

Выделить код

Код:

//
(async topic => {
	var id = "unified-extensions-button", qid = `"${id}"`;
	var obs = async doc => {
		var btn = doc.getElementById(id);
		if (!btn) return;
		if (!Services.prefs.getStringPref("browser.uiCustomization.state").includes(qid))
			await doc.ownerGlobal.delayedStartupPromise;
		btn.setAttribute("removable", true);
		doc.getElementById("nav-bar-customization-target").append(btn);
	}
	Services.obs.addObserver(obs, topic);
	Services.obs.addObserver(function quit(s, t) {
		Services.obs.removeObserver(quit, t);
		Services.obs.removeObserver(obs, topic);
	}, "quit-application-granted");
})("chrome-document-interactive");

Отсутствует

 

№66521-03-2023 15:11:12

6e73epo
Участник
 
Группа: Members
Зарегистрирован: 06-05-2022
Сообщений: 207
UA: Firefox 106.0

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

Dumby, а если бы речь шла только о том, чтобы сделать кнопку съемной, например alltabs-button, то в только что приведенном вами коде не достаточно было бы просто сменить id на "alltabs-button" и присутствует что-то лишнее? Если мне не изменяет память, то раньше эта кнопка была съемной, а по какой причине эту возможность убрали, мне не ясно

Отредактировано 6e73epo (21-03-2023 15:14:01)

Отсутствует

 

№66621-03-2023 20:45:35

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

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

6e73epo пишет

например alltabs-button, то в только что приведенном вами коде не достаточно было бы просто сменить id на "alltabs-button" и присутствует что-то лишнее?

Ну, почему не достаточно, достаточно.


И да, лишнее, для alltabs-button, определённо, присутствует.
Собственно даже всё, кроме установки атибута "removable".
Иначе говоря
var obs = doc => doc.getElementById("alltabs-button")?.setAttribute("removable", true);

Отсутствует

 

№66721-03-2023 23:17:12

6e73epo
Участник
 
Группа: Members
Зарегистрирован: 06-05-2022
Сообщений: 207
UA: Firefox 106.0

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

Dumby, благодарю, получилось. Раньше для того, чтобы сделать кнопку съемной, я в манифесте через override подсовывал измененный файл.

Отсутствует

 

№66822-03-2023 20:45:22

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

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

6e73epo
У меня что-то не открепляет, после перезапуска возвращает на место. Создал файл, вписал в scriptschrome(не load). А он не слушает. Вы же про кнопку Расширения?

Отсутствует

 

№66922-03-2023 22:31:35

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

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

Dumby пишет

Иначе говоря
var obs = doc => doc.getElementById("alltabs-button")?.setAttribute("removable", true);

А как использовать, (async () => { ... })(); , или типа того, нужен?

Отсутствует

 

№67023-03-2023 00:15:35

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

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

_zt пишет

А как использовать, (async () => { ... })(); , или типа того, нужен?

Искуство быть непонятным?
Мной такая конструкция используется вместо try {…} catch(…) {…}

Отсутствует

 

№67123-03-2023 05:22:25

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

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

Dumby
Для ucf используется

Выделить код

Код:

(async () => {
код
})();

для unified-extensions-button

Выделить код

Код:

(async topic => {
код
})("chrome-document-interactive");

А для alltabs-button этого не надо? Просто строку данную выше вписываем?

Отсутствует

 

№67223-03-2023 09:55:26

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

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

_zt
Что-то понятнее не стало.


Была просьба перерисовать код для unified-extensions-button
с custom_script_win.js под config.js


Поэтому обсёрвер, и даже async так же используется
по прямому назначению, поскольку внутри есть await


Затем, вдогонку, вопрос, как бы это могло выглядеть уже для alltabs-button
Соответственно, даден ответ, что чуть попроще

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

Выделить код

Код:

(async topic => {
	var obs = doc => doc.getElementById("alltabs-button")?.setAttribute("removable", true);
	Services.obs.addObserver(obs, topic);
	Services.obs.addObserver(function quit(s, t) {
		Services.obs.removeObserver(quit, t);
		Services.obs.removeObserver(obs, topic);
	}, "quit-application-granted");
})("chrome-document-interactive");


А если для alltabs-button под custom_script_win.js
то хватит и одной строки
document.getElementById("alltabs-button").setAttribute("removable", true);
Тоже "DOMContentLoaded" (не "load").

Отсутствует

 

№67323-03-2023 18:03:54

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

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

Dumby
Я config.js имел ввиду. Спасибо за ответ, исчерпывающе.

Отсутствует

 

№67424-03-2023 03:11:15

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

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

Dumby
В [firefox] 112 такой код отказался работать:

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

Выделить код

Код:

try {
(this.ucf_DblclickTabUpPage = {
	init(that) {
		gBrowser.tabContainer.addEventListener("dblclick", this);
	},
	handleEvent(e) {
		if ( e.button == 0 && e.target.matches("tab :scope:not(.tab-close-button):not(.tab-icon-sound), tab") ) {
			e.preventDefault();
			var vert = `javascript:(function(d,scrT){scrT=d.documentElement.scrollTop||d.body.scrollTop;if(scrT>window.innerHeight){localStorage['bmk_'+d.location.href]=scrT;scrollTo(0,0)}else{scrollTo(0,localStorage['bmk_'+d.location.href]||0)}})(document)`;
			gBrowser.loadURI(vert, { triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal() });
		}
	},
}).init(this);
} catch(e) {}

В консоли пишет: Uncaught TypeError: 'uri' member of CancelContentJSOptions is not an object.
Не поможете реанимировать.


«The Truth Is Out There»

Отсутствует

 

№67524-03-2023 10:16:57

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

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

unter_officer пишет

'uri' member of CancelContentJSOptions is not an object.

Это Bug 1810141 - Loading URIs should be done with URI objects by default, rather than strings, to help avoid unnecessary parsing / fixup / allocations


То есть, либо
gBrowser.loadURI(Services.io.newURI(vert),
либо
gBrowser.fixupAndLoadURIString(vert,

Отсутствует

 

Board footer

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