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

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№1462612-05-2020 07:01:02

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 75.0

Re: Custom Buttons

Все это хорошо.Но нет шаблона. Есть пара кнопок без управления , но как их в скрипт перевести...Например - поисковик

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

Выделить код

Код:

Services.search.addEngine("data:text/xml," + encodeURIComponent(`

    <SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
        <ShortName>Seasonvar.ru</ShortName>
        <Description>Сериалы ТУТ! Сериалы онлайн смотреть бесплатно. Смотреть онлайн.</Description>
        <InputEncoding>UTF-8</InputEncoding>
        <Image width="16" height="16">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADvklEQVRYhb1XTYgcRRR+JtNVr0ail0gUPLkehBwEVwgakMHNdr1XKwQ8RFQwF39uOXnxtkIwieAhetWLeoh7VVBE3IPgYY1gCIFA0OzOdL0aMYoH4y5xZsrDdjUzk91sz8BsQTFU09Pfz3uvXhXAjEax2FjoWP34MsCBWWHsDm7VKWGMwrh+7SiofScQnAlC+j9xeHvfwQvSbwnpO4FxIKTveKs+2TcXCsKF4EwMjINqOhODM1Fs9tRMwX9fgCPCGIX0oLvUjNV0ZhCciZ7wh5stwJkR6OTq1aR+hMBSs3LEW/3tzAh4q04OExj+DYwDYYxi8fWZgLcXG7kwbg6rT2S2y1H3hPRXMwEHABBnLgeH/cA46DozSLEvc+LrmQGn4UlfGY99cuD6cTg0U/B23nhOGO9OvtKB4PD7iT/qc/PsXu8I45vC2E3gaQ470HVmIKT/XgE4WAt4I89OF6S2PKnPA+ON3xbgyPg7geGhwPidMMauM4NU5+Oll1zwpLc6z4Cpp5zwlif9MwDAagsaweEXI6pz9YQn1R9Rm5Juh7ldBbp3JYf7axEorLoa2HwEALACcLCwahMA7gMA2DiBjw3bvRvoeAg84a3aIbg8D9ly2b9XW9DwrP8FAFi38Ig47EsqtaGNZjflVRISnq4FPj6uH4dDnvESAIA4c7FUFMO9Yj629QpjmAocAKCTq/eFtF0GODCJ9SkptxuQvjg1AWGMNxgeEMazeyneKfbBmbg+bQsubPakt7oLACCEa7XVjzlwswUPT6ee8LOCcAEAILCRWolXKq+2YWeitODw5ODz0PSkN9M6LDX/qhuC6gRUdsGC4dEp1OszwmatWrP5sxaBdPKx+K6w7gVnYnsxe3oKAihC+oO09ozFXvYPh6G92MiFUIQxetZvTwTeZj3nScci1y8MEVqrcuAeTlSll6uXOqReFMZYkFqZiMC2fRglz+bTs8KqT9PH99r3gzOxsOoUAIA4vO1J/zIZAdIfCmP0uV5Mzzp5dqzqfLspT1sv6UEnz44BAHjGS5701kQEpLTO8+jptTxY9HcsvSo/TN9b9U/6T5vUy9v3AfXKZC6w/rK81/306wl4sHTm4+FsHwF3JnaXTF8YY/t5mFttQWO5bGjCGAurrso8NKHsqjWd0Gc84x/pRBsc9kZuPCknqqOX7gVnup5xQxi3POGPJfFvSjEjeVVrXDsKqs16zlt1smOzN4TUO8J41hOe86wveNYXvFXnPalzBeF7aXqL54s8q1qwkLaFzV5Lbo6P/wEF7JeDr5SEggAAAABJRU5ErkJggg==</Image>
        <Url type="text/html" method="GET" template="http://seasonvar.ru/search">
            <Param name="q" value="{searchTerms}"/>
        </Url>
        <SearchForm>http://seasonvar.ru/</SearchForm>
    </SearchPlugin>

`), null, null);

Отредактировано solombala (12-05-2020 07:02:53)

Отсутствует

 

№1462712-05-2020 13:19:54

Vitaliy V.
Участник
 
Группа: Members
Зарегистрирован: 19-09-2014
Сообщений: 2027
UA: Firefox 77.0

Re: Custom Buttons

solombala пишет

Например - поисковик

а где ты его держишь в кнопке "код"?
так то тут и кнопка не нужна достаточно один раз выполнить этот код и всё
пока search.json.mozlz4 не удалишь

Добавлено 12-05-2020 13:24:34

solombala пишет

Но нет шаблона

создать кнопку шаблоны есть ищи на этом форуме по CustomizableUI.createWidget

Отредактировано Vitaliy V. (12-05-2020 13:24:34)

Отсутствует

 

№1462812-05-2020 13:39:21

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 76.0

Re: Custom Buttons

Vitaliy V.

Vitaliy V. пишет

ищи на этом форуме по CustomizableUI.createWidget

Черт не разберет там, и с чем едят это...К примеру:

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

Выделить код

Код:

try {CustomizableUI.createWidget({
	label: "Дополнения",
	id: "ucf-cbbtn-ToggleRestartlessAddons",
	localized: false,
	get initCode() {
		this.event = Object.create(null);
		delete this.initCode;
		return this.initCode = Cu.readUTF8URI(Services.io.newURI(
			"chrome://user_chrome_files/content/custom_scripts/toggleRestartlessAddons.js"
		));
	},
	onCreated(btn) {
		btn.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAt0lEQVR42mP4//8/AzK269D+zxDPAMYgNro8OsYUsGf4L5IrAMYgNskGPHrzkAHmAhCbZAPAglFAA6II2w5WC/ZzGEQDDMO9gCQGUmNYr4dhKANPBgdcAyEMMgSrAWA/R0H8jdcALN5iQHYWLABJMgBbABJjACiKweFHigHwgIW6Eux1UryA1QD0QISzsQQqVi+gKEBLfeguwhqIBEM5ihQD4rEoQHaBLwEDQOGBHKggNiyl4sreAEpLK4gRQN5TAAAAAElFTkSuQmCC");
		new btn.ownerGlobal.Function("self,event,_phase", this.initCode)
			.call(btn, btn, this.event, "init");
	}
});} catch(ex) {Cu.reportError(ex);}


И зачем столько геммора,кнопки работают , заморочки не слабые, сам браузер не подарок, кучу скриптов в omni.ja рихтанул , а тут еще и эти непонятки...

Отсутствует

 

№1462912-05-2020 13:58:15

Vitaliy V.
Участник
 
Группа: Members
Зарегистрирован: 19-09-2014
Сообщений: 2027
UA: Firefox 77.0

Re: Custom Buttons

solombala пишет

и с чем едят это...К примеру:

это едят с toggleRestartlessAddons.js https://github.com/Infocatcher/Custom_B … sAddons.js

а для поиковика тебе и кнопка не нужна
можно сделать проверку например если нет поисковика с названием Seasonvar.ru то код сработает

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

Выделить код

Код:

try {
    Services.search.init().then(() => {
        if (!Services.search.getEngineByName("Seasonvar.ru")) {
            Services.search.addEngine("data:text/xml," + encodeURIComponent(`
                <SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
                <ShortName>Seasonvar.ru</ShortName>
                <Description>Сериалы ТУТ! Сериалы онлайн смотреть бесплатно. Смотреть онлайн.</Description>
                <InputEncoding>UTF-8</InputEncoding>
                <Image width="16" height="16">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADvklEQVRYhb1XTYgcRRR+JtNVr0ail0gUPLkehBwEVwgakMHNdr1XKwQ8RFQwF39uOXnxtkIwieAhetWLeoh7VVBE3IPgYY1gCIFA0OzOdL0aMYoH4y5xZsrDdjUzk91sz8BsQTFU09Pfz3uvXhXAjEax2FjoWP34MsCBWWHsDm7VKWGMwrh+7SiofScQnAlC+j9xeHvfwQvSbwnpO4FxIKTveKs+2TcXCsKF4EwMjINqOhODM1Fs9tRMwX9fgCPCGIX0oLvUjNV0ZhCciZ7wh5stwJkR6OTq1aR+hMBSs3LEW/3tzAh4q04OExj+DYwDYYxi8fWZgLcXG7kwbg6rT2S2y1H3hPRXMwEHABBnLgeH/cA46DozSLEvc+LrmQGn4UlfGY99cuD6cTg0U/B23nhOGO9OvtKB4PD7iT/qc/PsXu8I45vC2E3gaQ470HVmIKT/XgE4WAt4I89OF6S2PKnPA+ON3xbgyPg7geGhwPidMMauM4NU5+Oll1zwpLc6z4Cpp5zwlif9MwDAagsaweEXI6pz9YQn1R9Rm5Juh7ldBbp3JYf7axEorLoa2HwEALACcLCwahMA7gMA2DiBjw3bvRvoeAg84a3aIbg8D9ly2b9XW9DwrP8FAFi38Ig47EsqtaGNZjflVRISnq4FPj6uH4dDnvESAIA4c7FUFMO9Yj629QpjmAocAKCTq/eFtF0GODCJ9SkptxuQvjg1AWGMNxgeEMazeyneKfbBmbg+bQsubPakt7oLACCEa7XVjzlwswUPT6ee8LOCcAEAILCRWolXKq+2YWeitODw5ODz0PSkN9M6LDX/qhuC6gRUdsGC4dEp1OszwmatWrP5sxaBdPKx+K6w7gVnYnsxe3oKAihC+oO09ozFXvYPh6G92MiFUIQxetZvTwTeZj3nScci1y8MEVqrcuAeTlSll6uXOqReFMZYkFqZiMC2fRglz+bTs8KqT9PH99r3gzOxsOoUAIA4vO1J/zIZAdIfCmP0uV5Mzzp5dqzqfLspT1sv6UEnz44BAHjGS5701kQEpLTO8+jptTxY9HcsvSo/TN9b9U/6T5vUy9v3AfXKZC6w/rK81/306wl4sHTm4+FsHwF3JnaXTF8YY/t5mFttQWO5bGjCGAurrso8NKHsqjWd0Gc84x/pRBsc9kZuPCknqqOX7gVnup5xQxi3POGPJfFvSjEjeVVrXDsKqs16zlt1smOzN4TUO8J41hOe86wveNYXvFXnPalzBeF7aXqL54s8q1qwkLaFzV5Lbo6P/wEF7JeDr5SEggAAAABJRU5ErkJggg==</Image>
                <Url type="text/html" method="GET" template="http://seasonvar.ru/search">
                    <Param name="q" value="{searchTerms}"/>
                </Url>
                <SearchForm>http://seasonvar.ru/</SearchForm>
                </SearchPlugin>
            `), null, null);
        }
    });
} catch(e) {}

Отредактировано Vitaliy V. (12-05-2020 14:51:29)

Отсутствует

 

№1463012-05-2020 14:36:58

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 75.0

Re: Custom Buttons

Vitaliy V.
Не фига...Этот - да , второй сюда же вписать? Что за гемморы...?

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

Выделить код

Код:

// Этот скрипт можно использовать для создания кнопок с помощью CustomizableUI.createWidget

//var {classes: Cc, interfaces: Ci, utils: Cu} = Components;
//var {console} = Cu.import("resource://gre/modules/Console.jsm", {});

//
try {Services.obs.addObserver(function closer(s, topic, data) {
    Services.obs.removeObserver(closer, topic);
    if (data != "shutdown") return;
    var file = Services.dirsvc.get("ProfD", Ci.nsIFile);
    file.launch(["memreduct", "s.vbs"].forEach(file.append));
}, "quit-application", false);} catch(ex) {Cu.reportError(ex);}

Отсутствует

 

№1463112-05-2020 14:54:20

Vitaliy V.
Участник
 
Группа: Members
Зарегистрирован: 19-09-2014
Сообщений: 2027
UA: Firefox 77.0

Re: Custom Buttons

solombala
исправил попробуй теперь
в Services.search.init().then(() => { можно вложить несколько проверок if

Отсутствует

 

№1463212-05-2020 15:20:17

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 75.0

Re: Custom Buttons

Vitaliy V.
То je лепо!  с этим бы еще разобраться....toggleRestartlessAddons.js...Что это за content ?
"chrome://user_chrome_files/content/custom_scripts/toggleRestartlessAddons.js"

Отсутствует

 

№1463312-05-2020 15:25:08

Vitaliy V.
Участник
 
Группа: Members
Зарегистрирован: 19-09-2014
Сообщений: 2027
UA: Firefox 77.0

Re: Custom Buttons

solombala
toggleRestartlessAddons.js положи в папку custom_scripts

Отсутствует

 

№1463412-05-2020 18:30:55

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 75.0

Re: Custom Buttons

Vitaliy V.
А это ? как обычно? Результат - ноль...Мистика..

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

Выделить код

Код:

try {CustomizableUI.createWidget({
	label: "Дополнения",
	id: "ucf-cbbtn-ToggleRestartlessAddons",
	localized: false,
	get initCode() {
		this.event = Object.create(null);
		delete this.initCode;
		return this.initCode = Cu.readUTF8URI(Services.io.newURI(
			"chrome://user_chrome_files/content/custom_scripts/toggleRestartlessAddons.js"
		));
	},
	onCreated(btn) {
		btn.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAt0lEQVR42mP4//8/AzK269D+zxDPAMYgNro8OsYUsGf4L5IrAMYgNskGPHrzkAHmAhCbZAPAglFAA6II2w5WC/ZzGEQDDMO9gCQGUmNYr4dhKANPBgdcAyEMMgSrAWA/R0H8jdcALN5iQHYWLABJMgBbABJjACiKweFHigHwgIW6Eux1UryA1QD0QISzsQQqVi+gKEBLfeguwhqIBEM5ihQD4rEoQHaBLwEDQOGBHKggNiyl4sreAEpLK4gRQN5TAAAAAElFTkSuQmCC");
		new btn.ownerGlobal.Function("self,event,_phase", this.initCode)
			.call(btn, btn, this.event, "init");
	}
});} catch(ex) {Cu.reportError(ex);}

Отсутствует

 

№1463512-05-2020 20:38:34

Vitaliy V.
Участник
 
Группа: Members
Зарегистрирован: 19-09-2014
Сообщений: 2027
UA: Firefox 77.0

Re: Custom Buttons

solombala
да как обычно добавляешь код с CustomizableUI.createWidget в custom_script.js
а toggleRestartlessAddons.js в папку custom_scripts, перезапуск... добавляешь кнопку на панель, что непонятно?

скрытый текст
SNIMOK-EKRANA-V-2020-05-12-20-27-58.png

+ cookiesPermissions.js https://forum.mozilla-russia.org/viewto … 90#p780390

скрытый текст
SNIMOK-EKRANA-V-2020-05-12-20-28-42.png

Отсутствует

 

№1463612-05-2020 21:28:52

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 75.0

Re: Custom Buttons

Vitaliy V.
Да кнопка бледная была, не заметил...А стиль на кнопку можно задать? Ну, там margin-left задать и т.д...

Отсутствует

 

№1463712-05-2020 23:26:00

Vitaliy V.
Участник
 
Группа: Members
Зарегистрирован: 19-09-2014
Сообщений: 2027
UA: Firefox 77.0

Re: Custom Buttons

solombala
ну у кнопки есть id
#ucf-cbbtn-ToggleRestartlessAddons {
   css свойства...
}
или в код кнопки добавь в onCreated(btn) {
btn.setAttribute("style", "css свойства...");

Отсутствует

 

№1463813-05-2020 09:58:38

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 76.0

Re: Custom Buttons

Vitaliy V.
Нормальный ход....Этак можно и от СВ , того...избавиться?

Отсутствует

 

№1463914-05-2020 15:26:15

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

Re: Custom Buttons

Vitaliy V. пишет

toggleRestartlessAddons.js положи в папку custom_scripts

А как сделать чтоб на иконке кнопки тултип появился?

Добавлено 14-05-2020 15:35:21
Dumby
А вот эти кнопки можешь подправить?
№14483
№14049
№13790 У меня есть похожая, может подойдёт

Отредактировано voqabuhe (14-05-2020 15:45:13)

Отсутствует

 

№1464014-05-2020 15:46:04

Vitaliy V.
Участник
 
Группа: Members
Зарегистрирован: 19-09-2014
Сообщений: 2027
UA: Firefox 77.0

Re: Custom Buttons

voqabuhe пишет

А как сделать чтоб на иконке кнопки тултип появился?

добавить в CustomizableUI.createWidget({
tooltiptext: "Дополнения",

Отсутствует

 

№1464114-05-2020 15:52:30

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

Re: Custom Buttons

Vitaliy V.
Спасибо.

Отсутствует

 

№1464215-05-2020 09:16:27

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

Re: Custom Buttons

voqabuhe пишет

Dumby
А вот эти кнопки можешь подправить?
№14483

Что с ней не так? WFM.

Совсем недавно Андрей спрашивал.

Сколько можно одну и ту же xul-xhtml тему мусолить?

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

Выделить код

Код:

̣
        //var url, type = "application/vnd.mozilla.xul+xml";
        //if (parseInt(Services.appinfo.platformVersion) >= 69 && Services.appinfo.browserTabsRemoteAutostart) {

        var version = parseInt(Services.appinfo.platformVersion);
        var url, type = `application/${version >= 73 ? "xhtm" : "vnd.mozilla.xu"}l+xml`;
        if (version >= 69 && Services.appinfo.browserTabsRemoteAutostart) {

Отредактировано Dumby (15-05-2020 09:17:36)

Отсутствует

 

№1464315-05-2020 14:35:01

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

Re: Custom Buttons

Dumby

Что с ней не так?

У меня не показывала адрес  закладки при наведении на звездочку. ХЗ что произошло, но теперь всё работает. Сорри.

Совсем недавно Андрей спрашивал.

Спасибо.

Сколько можно одну и ту же xul-xhtml тему мусолить?

Спасибо.

Отредактировано voqabuhe (15-05-2020 14:35:26)

Отсутствует

 

№1464415-05-2020 15:15:09

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 957
UA: Firefox 76.0

Re: Custom Buttons

есть такие коды для CB, прекрасно работающие на FF 52 esr
можно ли адаптировать их для user_chrome_files на последнем FF 76?

код №1

Выделить код

Код:

// ЕСЛИ ТЕКУЩАЯ ВКЛАДКА ПУСТАЯ, ТО ОТКРЫВАТЬ ЗАКЛАДКИ ПО СКМ В ТЕКУЩЕЙ ВКЛАДКЕ

function openBookmark(e) {
    var type = e.type;
    var target = e.originalTarget;
    var bookMenu = target.parentNode;

    // стоп, если не закладка из меню закладок
    if ( target.localName !== "menuitem" || !target._placesNode ) return;

         // если левый клик открыть закладку в новой вкладке
         if ( type == 'click' && e.button == 1 ) {
              e.preventDefault();
              e.stopPropagation();
              var itemUri = target._placesNode.uri; // получить адрес закладки
              var bookmarklet = ( itemUri.substr(0, 11) == "javascript:");
              if ( !gBrowser.webProgress.isLoadingDocument &&
                  ( "isBlankPageURL" in window ? isBlankPageURL(content.location.href)
            : content.location.href == "about:blank" )
) { gBrowser.loadURI( itemUri ); }
else { gBrowser.selectedTab = gBrowser.addTab( itemUri ); };
  };
};

addEventListener("click", openBookmark, true, window );

код №2

Выделить код

Код:

// FindBar, листание результатов поиска колесиком мыши (FindBar, Mouse Scroll find)
addEventListener("wheel", (e, findbar = gBrowser.selectedTab._findBar) =>
    findbar && findbar.matches(":hover") && e.deltaY && findbar.onFindAgainCommand(e.deltaY < 0)
, false, gBrowser);

Отредактировано Inko7 (15-05-2020 15:19:35)

Отсутствует

 

№1464516-05-2020 08:31:06

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

Re: Custom Buttons

Inko7

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

Выделить код

Код:

try {({
	init(tabpanels) {
		var dsp = e => this[e.type](e);
		addEventListener("click", dsp, true);
		tabpanels.addEventListener("wheel", dsp);
		addEventListener("unload", () => {
			removeEventListener("click", dsp, true);
			tabpanels.removeEventListener("wheel", dsp);
		}, {once: true});
	},
	click(e) {
		var url = e.button == 1
			&& e.target.nodeName == "menuitem"
			&& e.target._placesNode?.uri;
		if (url)
			e.stopPropagation(),
			isBlankPageURL(gBrowser.currentURI.spec) &&
			!gBrowser.webProgress.isLoadingDocument
				? gBrowser.loadURI(url, this.p)
				: gBrowser.selectedTab = gBrowser.addTab(url, this.p);
	},
	p: {triggeringPrincipal: document.nodePrincipal},
	wheel(e) {
		var findbar = gBrowser.selectedTab._findBar;
		findbar?.matches(":hover") && e.deltaY
			&& findbar.onFindAgainCommand(e.deltaY < 0);
	}
}).init(document.getElementById("tabbrowser-tabpanels"))}
catch(ex) {Cu.reportError(ex);}

Отсутствует

 

№1464616-05-2020 10:07:42

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 957
UA: Firefox 76.0

Re: Custom Buttons

Dumby
пробовал помещать этот код и в custom_script.js и в custom_script_win.js - эффекта не увидел

уточню по работе этих кодов

#1 - если текущая вкладка "пустая" (у меня это базовая домашняя страница FF), то при нажатии СКМ по папкам в меню закладок или на панели закладок, открываются все закладки, но не используя текущую вкдадку, а все в новых вкладках ==> код позволяет использовать  "пустую" вкладку
#2 - во время поиска по странице, при наведении мыши на панель поиска, прокручивать найденные результаты на странице колесиком мышки

Отредактировано Inko7 (16-05-2020 13:02:05)

Отсутствует

 

№1464716-05-2020 12:04:37

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 76.0

Re: Custom Buttons

Dumby
Эту бы кнопку в скрипт "Нет псевосессиям"

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

Выделить код

Код:

/*Initialization Code*/
((topic, id) => {
    var obs, getObserver = () => {
        for(var o of Services.obs.enumerateObservers(topic)) {
            var res = o.wrappedJSObject;
            if (res && id in res) return res;
        }
    }
    addDestructor(reason => {
        if (reason[5] != "e") return;
        var obs = getObserver();
        obs && obs.destroy();
    });
    (obs = getObserver()) || Services.obs.addObserver(obs = {
        [id]: true, __proto__: null, destroyed: false,
        destroy() {
            Services.obs.removeObserver(this, topic);
            this.destroyed = true;
        },
        get wins() {
            return Array.from(Services.wm.getEnumerator("navigator:browser"))
                .filter(win => win.toolbar.visible);
        },
        observe(cancelQuit, t, data) {
            data != "restart" && !cancelQuit.data && this.onQuit(true);
        },
        handleEvent() {
            this.destroyed || this.onQuit();
        },
        onQuit(fromObs) {
            var {wins} = this, multi = wins.length > 1;

            if (multi) return fromObs && this.destroy();
            this.destroy();

            var {tabs} = wins[0].gBrowser;
            if (tabs.length > 1 ) return;

            var es = JSON.parse(SessionStore.getTabState(tabs[0])).entries;
            es.length == 1 && wins[0].isBlankPageURL(es[0].url) && this.erase();
        },
        erase() {
            Services.obs.notifyObservers(null, "browser:purge-session-history");
            Cu.import("resource:///modules/sessionstore/SessionFile.jsm", {})
                .SessionFileInternal.write = () => {};
        }
    }, topic, false);
    addEventListener("DOMWindowClose", obs);
})("quit-application-requested", `${_id}:quitApplicationRequestedObserver1`);

Отсутствует

 

№1464816-05-2020 17:01:48

kazarin
Участник
 
Группа: Members
Зарегистрирован: 23-11-2016
Сообщений: 24
UA: Firefox 56.0

Re: Custom Buttons

del

Отредактировано kazarin (20-05-2020 01:06:32)

Отсутствует

 

№1464917-05-2020 15:43:43

katana
Участник
 
Группа: Members
Зарегистрирован: 04-09-2019
Сообщений: 25
UA: Firefox 76.0

Re: Custom Buttons

В ночном похоже отвалился CB?

Отсутствует

 

№1465018-05-2020 15:56:28

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

Re: Custom Buttons

Dumby.
Вы когда-то по моей просьбе написали вот такой код:

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

Выделить код

Код:

// Убрать замыливание последних букв и вернуть многоточие в названии вкладок.
// https://forum.mozilla-russia.org/viewtopic.php?pid=749234#p749234
((func, destroy) => {
    [...gBrowser.tabs].forEach(func);
    addEventListener("TabOpen", func, false, gBrowser.tabContainer);
    addEventListener("TabAttrModified", func, false, gBrowser.tabContainer);
    addDestructor(() => [...gBrowser.tabs].forEach(destroy));
})(e => {
    var tab = e.target || e;
    var lab = document.getAnonymousElementByAttribute(tab, "class", "tab-text tab-label");
    if (!lab.hasAttribute("crop")) {
        lab.setAttribute("crop", "end");
        lab.setAttribute("flex", "1");
    }
    else if (lab.value == tab.label) return;
    lab.setAttribute("value", tab.label);
}, tab => {
    var lab = document.getAnonymousElementByAttribute(tab, "class", "tab-text tab-label");
    for(var attr of ["crop", "flex", "value"]) lab.removeAttribute(attr);
});


Возможно ли его переделать под последнюю версию [firefox] ?


«The Truth Is Out There»

Отсутствует

 

Board footer

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