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

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№937619-01-2016 09:36:22

pag77
Участник
 
Группа: Extensions
Зарегистрирован: 20-03-2012
Сообщений: 1657
UA: Firefox 43.0

Re: Custom Buttons

bunda1 пишет

А это пробовал 09-10-2015 12:29:01

это не пробовал.
это пробовал, пока работает:
http://custombuttons.sourceforge.net/fo … f=5&t=3656

Indomito пишет

pag77 а зачем тебе авторы? Всё работает нормально, ну иногда они обновляют версию, т.е. когда требуется.

ну вот, уже как бы требуется, так как в Nightly не работает.

Dumby пишет

Если не затруднит, распиши что именно при включённой мультипроцессности не работает.

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

Отсутствует

 

№937719-01-2016 11:59:55

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Custom Buttons

Indomito пишет

Как обойти ограничение в this.tooltipText для кода таймера, т.е. что бы менялся текст/число, а то выводить в MsgBox не то что лень, просто неудобно. А?
Можно и без таймера — главное менять

Пример, код переписывает текст подсказки при наведении курсора на кнопку:

Выделить код

Код:

// Подсказка для кнопки ................................
this.onmouseover =()=> {
   // получить и обрезать подсказку для автовыделение ....
   var val = Application.prefs.getValue("FindBar.Highlight.value", 0);
   var value = val.substring(0,50) + ( (val.length > 50) ? '....' : "" );
                    
   this.tooltipText = "Поиск по странице \nЛ:    Показать - скрыть поиск по странице \nС:    Поиск по странице из буфера обмена"
                                        + "\nП:    Mеню кнопки \nДП: CB меню \n\nАвтовыделение: " + value;                                                    
};

Отсутствует

 

№937819-01-2016 12:51:52

Kiril__777
Участник
 
Группа: Members
Зарегистрирован: 13-07-2009
Сообщений: 393
UA: Firefox 38.0

Re: Custom Buttons

bunda1

так ты хочешь длинным кликом остановыть загрузку всех вкладок или перегрузить все вкладки?

Длинным перезарузить все вкладки как и написано в описании, но если так же длинным можно будет все остановить, то еще лучше.

Отсутствует

 

№937919-01-2016 13:04:46

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Custom Buttons

Indomito пишет

А вот как ЛКМ сделать на закрытие Дополнений, если они открыты, а СКМ задействовать на обновление Дополнений?

Выделить код

Код:

function lbMouse(url) {
   var flag = true; 
   
   [...gBrowser.tabs].forEach((tab)=> {
      var uri = tab.linkedBrowser.currentURI.spec;
      if ( uri == url ) { gBrowser.removeTab(tab); flag = false; };
   });

   if ( flag ) gBrowser.selectedTab = gBrowser.addTab(url);  
};
lbMouse("about:addons");

Добавлено 19-01-2016 13:07:06

Kiril__777 пишет

Длинным перезарузить все вкладки как и написано в описании, но если так же длинным можно будет все остановить, то еще лучше.

А вот нет, в описании написано - Длинный ЛКМ => Остановить все вкладки,

Отредактировано bunda1 (19-01-2016 13:07:06)

Отсутствует

 

№938019-01-2016 13:14:55

Kiril__777
Участник
 
Группа: Members
Зарегистрирован: 13-07-2009
Сообщений: 393
UA: Firefox 38.0

Re: Custom Buttons

bunda1
Извините :(:(:(:(
Можно ли как-то сделать иконки как в оригинальной кнопке Остановить-Перезагрузить?

Отсутствует

 

№938119-01-2016 16:46:24

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 36.0
Веб-сайт

Re: Custom Buttons

Indomito пишет

Как обойти ограничение в this.tooltipText для кода таймера, т.е. что бы менялся текст/число, а то выводить в MsgBox не то что лень, просто неудобно. А?
Можно и без таймера — главное менять this.tooltipText

Выделить код

Код:

// Начать повторы с интервалом 5 сек
var timerId = setInterval(
    rltDMSRT = Application.prefs.getValue(cDMSRT, 0)
, 5000);

this.tooltipText = 
    "          Текущеее значение   ═   " + rltDMSRT + "\n    ————————————————\n" +
    "Left               ―   По умолчанию  ═  10\n" + 
    "Right            ―   Своё значение(дилог)\n" +
    "Shift+Right  ―  Редактирование кнопки";
difabor пишет

Если есть операции по mouseup, которые надо подавить тоже, то надо также добавить:

и не забыть про модификаторы, а то долгое удержание, т.е. выше 800 вызовет контекстное меню.

Привет, кстати, я сюда давно не заходил.:)

Привет!
Насчёт меняния текста/числа в tooltipTextе - в своё время bunda1 научил меня делать кликабельный tooltipText, который не сразу пропадает, когда курсор уводится с кнопки, а с задержкой и поэтому можно на него самого навести курсор, тем самым, предотвращая пропадание пока курсор на нём. А по этой подсказке можно кликать, вызывая те или иные действия. Я не пробовал, но может можно каким-то кликом вызывать обновление содержимого tooltipText...


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№938219-01-2016 17:48:56

Northtech
Участник
 
Группа: Members
Зарегистрирован: 16-04-2011
Сообщений: 265
UA: Firefox 43.0

Re: Custom Buttons

bunda1 пишет

qazwsxe пишет: Может кто-нибудь поможет в создании кнопки...Необходима кнопка, чтобы по левой клавиши мыши открывались настройки Firefox, а по правой - дополнения Firefox.В инициализациюВыделить кодКод:// Настройка функций кликов мыши для кнопки ....................
this.onclick =e=> {   
   if ( e.button == 0 ) openPreferences();  // ЛКМ
                     
   if ( e.button == 1 ) gShowPopup(this); // СКМ
         
   if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) { // ПКМ
        e.preventDefault();
        BrowserOpenAddonsMgr();
        }
};

this.tooltipText = "Л: Открыть настройки Firefox \nС: CB Меню \nП: Открыть дополнения Firefox";

А можно объединить подобным образом 2 кнопки?
ЛКМ - Обновить текущую страницу - BrowserReloadOrDuplicate(event);
СКМ - меню СВ
ПКМ - Обновить все вкладки - gBrowser.reloadAllTabs();

Отсутствует

 

№938319-01-2016 18:02:40

Indomito
Участник
 
Группа: Members
Откуда: Москва-Север
Зарегистрирован: 27-08-2009
Сообщений: 426
UA: Firefox 43.0

Re: Custom Buttons

pag77 пишет

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

1. при выключенной мультипроцессности -  Was ist das? Как это включается и выключается... я что то упустил видимо.
2. очень долгий старт браузера - старт как был так и остался или см №1
3. не жмакаются созданные кнопки и не открываются на редактирование проверь содержимое переменной dom.max_script_run_time. У моей жены она равна 500, а у меня от 7 до 15 и всё быстро работает, а вот у неё тормозит и очень сильно.

difabor пишет

Насчёт меняния текста/числа в tooltipTextе - в своё время bunda1 научил меня делать кликабельный tooltipText,

ты про такой скрипт

Выделить код

Код:

// Подсказка для кнопки ................................
this.onmouseover =()=> {
   // получить и обрезать подсказку для автовыделение ....
   var val = Application.prefs.getValue("FindBar.Highlight.value", 0);
   var value = val.substring(0,50) + ( (val.length > 50) ? '....' : "" );
                    
   this.tooltipText = "Поиск по странице \nЛ:    Показать - скрыть поиск по странице \nС:    Поиск по странице из буфера обмена"
                                        + "\nП:    Mеню кнопки \nДП: CB меню \n\nАвтовыделение: " + value;                                                    
};

Или что то другое?

Northtech пишет

А можно объединить подобным образом 2 кнопки?

Можно, т.е. это не кнопки, а как я понимаю функции кнопок... ну или я неправильно понял. ;)

Отредактировано Indomito (19-01-2016 18:11:41)


"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах

Отсутствует

 

№938419-01-2016 18:34:28

Indomito
Участник
 
Группа: Members
Откуда: Москва-Север
Зарегистрирован: 27-08-2009
Сообщений: 426
UA: Firefox 43.0

Re: Custom Buttons

bunda1 Этот код не рабочий -

Выделить код

Код:

function lbMouse(url) {
   var flag = true; 
   
   [...gBrowser.tabs].forEach((tab)=> {
      var uri = tab.linkedBrowser.currentURI.spec;
      if ( uri == url ) { gBrowser.removeTab(tab); flag = false; };
   });

   if ( flag ) gBrowser.selectedTab = gBrowser.addTab(url);  
};
lbMouse("about:addons");

Ты ничего не упустил?
Он срабатывает только в точке инициализации открывая дополнения, а потом просто пустые вкладки по ЛКМ.

Добавлено 19-01-2016 18:55:30
bunda1 И этот код

Выделить код

Код:

/*Initialization Code*/
// Подсказка для кнопки ................................
this.onmouseover =()=> {
   // получить и обрезать подсказку для автовыделение ....
   var val = Application.prefs.getValue("FindBar.Highlight.value", 0);
   var value = val.substring(0,50) + ( (val.length > 50) ? '....' : "" );

                    
   this.tooltipText = "Поиск по странице \nЛ:    Показать - скрыть поиск по странице \nС:    Поиск по странице из буфера обмена"
                                        + "\nП:    Mеню кнопки \nДП: CB меню \n\nАвтовыделение: " + value; 
};

я не смог заставить работать.... подсказка это имя кнопки и не более. Может надо что то добавить или убрать? Поясни... плз.

Отредактировано Indomito (19-01-2016 18:55:30)


"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах

Отсутствует

 

№938519-01-2016 19:01:02

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Custom Buttons

Indomito пишет

Он срабатывает только в точке инициализации открывая дополнения, а потом просто пустые вкладки по ЛКМ.

Потому что ты не правильно его запускаешь по ЛКМ, надо так

Выделить код

Код:

if(event.button == 0) {
// Действие при клике ЛКМ
lbMouse("about:addons");
    }

ну или пропиши адрес "about:addons" прямо в функции lbMouse:

Выделить код

Код:

function lbMouse(url) {
   var flag = true, url = "about:addons"; 
   
   [...gBrowser.tabs].forEach((tab)=> {
      var uri = tab.linkedBrowser.currentURI.spec;
      if ( uri == url ) { gBrowser.removeTab(tab); flag = false; };
   });

   if ( flag ) gBrowser.selectedTab = gBrowser.addTab(url);  
};
lbMouse();

Добавлено 19-01-2016 19:05:33

Indomito пишет

bunda1 И этот код

Выделить код

Код:

/*Initialization Code*/
// Подсказка для кнопки ................................
this.onmouseover =()=> {
   // получить и обрезать подсказку для автовыделение ....
   var val = Application.prefs.getValue("FindBar.Highlight.value", 0);
   var value = val.substring(0,50) + ( (val.length > 50) ? '....' : "" );

                    
   this.tooltipText = "Поиск по странице \nЛ:    Показать - скрыть поиск по странице \nС:    Поиск по странице из буфера обмена"
                                        + "\nП:    Mеню кнопки \nДП: CB меню \n\nАвтовыделение: " + value; 
};

я не смог заставить работать.... подсказка это имя кнопки и не более. Может надо что то добавить или убрать? Поясни... плз.

Наверно надо заменить:

Выделить код

Код:

var val = Application.prefs.getValue("FindBar.Highlight.value", 0);

на:

Выделить код

Код:

var val = Application.prefs.getValue(cDMSRT, 0);

Это был просто пример из моей кнопки, он и не должен был работать без изменений в твоей кнопке.

Отредактировано bunda1 (19-01-2016 19:05:33)

Отсутствует

 

№938619-01-2016 19:14:27

Indomito
Участник
 
Группа: Members
Откуда: Москва-Север
Зарегистрирован: 27-08-2009
Сообщений: 426
UA: Firefox 43.0

Re: Custom Buttons

bunda1 да я уж докопался методом научного тыка + анализа кода. :D

Спасибо за сниппеты и помощь. :)

Отредактировано Indomito (19-01-2016 19:26:50)


"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах

Отсутствует

 

№938719-01-2016 19:24:07

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Custom Buttons

Northtech пишет

А можно объединить подобным образом 2 кнопки?
ЛКМ - Обновить текущую страницу - BrowserReloadOrDuplicate(event);
СКМ - меню СВ
ПКМ - Обновить все вкладки - gBrowser.reloadAllTabs();

Не понял что надо объединить, но может так сойдет:

Выделить код

Код:

this.onclick =e=> {   
       if ( e.button == 0 ) BrowserReload();  // ЛКМ
                         
       if ( e.button == 1 ) gShowPopup(this); // СКМ
             
       if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) { // ПКМ
            e.preventDefault();
            gBrowser.reloadAllTabs();
            }
    };

    this.tooltipText = "Л: Обновить вкладку \nС: CB Меню \nП: Обновить все вкладки";

Отсутствует

 

№938819-01-2016 19:32:06

Northtech
Участник
 
Группа: Members
Зарегистрирован: 16-04-2011
Сообщений: 265
UA: Firefox 43.0

Re: Custom Buttons

bunda1
Оно самое, большое спасибо.
p.s. наверное просто неправильно выразил мысль. :)

Отсутствует

 

№938919-01-2016 19:33:38

Indomito
Участник
 
Группа: Members
Откуда: Москва-Север
Зарегистрирован: 27-08-2009
Сообщений: 426
UA: Firefox 43.0

Re: Custom Buttons

bunda1 и Northtech Я не понял что надо объединить Функции CB кнопок или Функции кнопок мыши — это по сути две разные задачи.


В догонку...
Northtech Готовый сниппет из моей кнопки   

Одиночный клик и Двойной клик - Чистая заготовка

Выделить код

Код:

/*Initialization code*/

this.tooltipText = 
"Left/Right    ―   \n" + 
"DLeft            ―   \n" +
"DRight         ―   ";
// И т.д. ;)


//Left
this.leftclick = function(event) {
};

//DLeft
this.leftDclick = function(event) {
};

//Middle
this.midclick = function(event) {
};

//DMiddle
this.midDclick = function(event) {
};

//Right
this.rightclick = function(event) {
  if(!event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) {
      event.preventDefault();
      event.stopPropagation();
     // Действие при клике без модификаторов
        }
};

//DRight
this.rightDclick = function(event) {
};

this.setAttribute('onclick', 'custombuttons.gQuot.mHandler(event, this)');
this.setAttribute('ondblclick', 'custombuttons.gQuot.mHandler(event, this)');


UPD Отсортировал и добавил все три кнопки... СКМ-клика не было.

Отредактировано Indomito (19-01-2016 23:25:48)


"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах

Отсутствует

 

№939019-01-2016 20:23:37

pag77
Участник
 
Группа: Extensions
Зарегистрирован: 20-03-2012
Сообщений: 1657
UA: Firefox 46.0

Re: Custom Buttons

Indomito пишет

1. при выключенной мультипроцессности -  Was ist das? Как это включается и выключается... я что то упустил видимо.

настройки - общие - Enable multi-process Nightly

Indomito пишет

3. не жмакаются созданные кнопки и не открываются на редактирование проверь содержимое переменной dom.max_script_run_time. У моей жены она равна 500, а у меня от 7 до 15 и всё быстро работает, а вот у неё тормозит и очень сильно.

dom.max_script_run_time = 30

напоминаю - все проблемы (долгий старт браузера, не работают кнопки) только в Firefox Nightly, версия 46.0a1
в текущем релизе все нормально работает.

Отсутствует

 

№939119-01-2016 20:30:01

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Custom Buttons

Еще вариант длинного клика мыши для вкладки:

Выделить код

Код:

// Настройка длинного клика мыши для вкладки ..............
addEventListener("mousedown", e=> {
   var targ = e.target;
   if ( e.button || targ.localName !== "tab" ) return;
       
   targ.onclick =()=> clearTimeout(targ.timer);
     
   targ.timer = setTimeout(()=> {
      gBrowser.removeTabsToTheEndFrom(gBrowser.mCurrentTab);
   }, 450);
       
}, true, gBrowser.mTabContainer);

Отсутствует

 

№939219-01-2016 20:59:35

sonyas75
Участник
 
Группа: Members
Откуда: Ставрополь
Зарегистрирован: 22-03-2011
Сообщений: 557
UA: Firefox 38.0

Re: Custom Buttons

о! и вам спасибо :)

Отсутствует

 

№939319-01-2016 21:43:38

Indomito
Участник
 
Группа: Members
Откуда: Москва-Север
Зарегистрирован: 27-08-2009
Сообщений: 426
UA: Firefox 43.0

Re: Custom Buttons

pag77 пишет

в текущем релизе все нормально работает.

Ааа... "ночная" сборка, я это упустил... сорри. ;)

Добавлено 19-01-2016 21:45:39
bunda1 А чем Открыть/Закрыть Настройки - нет решения?

Отредактировано Indomito (19-01-2016 21:45:39)


"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах

Отсутствует

 

№939419-01-2016 21:47:56

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Custom Buttons

Indomito пишет

bunda1 А чем Открыть/Закрыть Настройки - нет решения?

Сегодня 13:04:46 только измени адрес.

Отсутствует

 

№939519-01-2016 21:51:53

Indomito
Участник
 
Группа: Members
Откуда: Москва-Север
Зарегистрирован: 27-08-2009
Сообщений: 426
UA: Firefox 43.0

Re: Custom Buttons

bunda1 делал не срабатывает... Работает только на открытие... правда я не уверен что верно написал.

Если адрес - about:preferences#advanced, а потом сменился на about:preferences#general то что же писать?

Отредактировано Indomito (19-01-2016 21:56:25)


"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах

Отсутствует

 

№939619-01-2016 22:12:51

pag77
Участник
 
Группа: Extensions
Зарегистрирован: 20-03-2012
Сообщений: 1657
UA: Firefox 43.0

Re: Custom Buttons

Indomito пишет

Ааа... "ночная" сборка, я это упустил... сорри. ;)

т.е. помощи не искать и ожидать, что в ближайшие текущие релизы браузера CustomButtons снабдится пометкой "не для текущей версии Firefox"? :)

Отсутствует

 

№939719-01-2016 22:30:57

Indomito
Участник
 
Группа: Members
Откуда: Москва-Север
Зарегистрирован: 27-08-2009
Сообщений: 426
UA: Firefox 43.0

Re: Custom Buttons

pag77 у меня версия 0.0.5.8.1-signed.1-let-fixed от 30.12.2015 — куда уж новее то? ;)

Отредактировано Indomito (19-01-2016 22:32:05)


"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах

Отсутствует

 

№939819-01-2016 23:41:13

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Custom Buttons

Indomito пишет

Если адрес - about:preferences#advanced, а потом сменился на about:preferences#general то что же писать?

Упс, не подумал что для настроек адреса могут быть разные. Ну тогда вот так:

Выделить код

Код:

function lbMouse() {
   var flag = true, url = "about:preferences"; 
   
   [...gBrowser.tabs].forEach((tab)=> {
      var uri = tab.linkedBrowser.currentURI.spec;
      if ( uri.startsWith(url) ) { gBrowser.removeTab(tab); flag = false; };
   });

   if ( flag ) gBrowser.selectedTab = gBrowser.addTab(url);  
};
lbMouse();

Отсутствует

 

№939920-01-2016 00:00:10

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

Re: Custom Buttons

Indomito пишет

у меня версия 0.0.5.8.1-signed.1-let-fixed от 30.12.2015 — куда уж новее то?

Это где ты такую дату нарыл?

Отсутствует

 

№940020-01-2016 02:06:41

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 36.0
Веб-сайт

Re: Custom Buttons

Indomito пишет
difabor пишет

Насчёт меняния текста/числа в tooltipTextе - в своё время bunda1 научил меня делать кликабельный tooltipText,

ты про такой скрипт

Выделить код

Код:

// Подсказка для кнопки ................................
this.onmouseover =()=> {
   // получить и обрезать подсказку для автовыделение ....
   var val = Application.prefs.getValue("FindBar.Highlight.value", 0);
   var value = val.substring(0,50) + ( (val.length > 50) ? '....' : "" );
                    
   this.tooltipText = "Поиск по странице \nЛ:    Показать - скрыть поиск по странице \nС:    Поиск по странице из буфера обмена"
                                        + "\nП:    Mеню кнопки \nДП: CB меню \n\nАвтовыделение: " + value;                                                    
};

Или что то другое?

Я поищу в своих ЛС и постараюсь найти. Это давно было и я уже не помню.

Отредактировано difabor (20-01-2016 02:11:08)


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

Board footer

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