А это пробовал 09-10-2015 12:29:01
это не пробовал.
это пробовал, пока работает:
http://custombuttons.sourceforge.net/fo … f=5&t=3656
pag77 а зачем тебе авторы? Всё работает нормально, ну иногда они обновляют версию, т.е. когда требуется.
ну вот, уже как бы требуется, так как в Nightly не работает.
Если не затруднит, распиши что именно при включённой мультипроцессности не работает.
сейчас то же что и при выключенной мультипроцессности - очень долгий старт браузера, не жмакаются созданные кнопки и не открываются на редактирование
Отсутствует
Как обойти ограничение в 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; };
Отсутствует
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 13:07:06
Длинным перезарузить все вкладки как и написано в описании, но если так же длинным можно будет все остановить, то еще лучше.
А вот нет, в описании написано - Длинный ЛКМ => Остановить все вкладки,
Отредактировано bunda1 (19-01-2016 13:07:06)
Отсутствует
bunda1
Извините
Можно ли как-то сделать иконки как в оригинальной кнопке Остановить-Перезагрузить?
Отсутствует
Как обойти ограничение в 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...
Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©
Отсутствует
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();
Отсутствует
сейчас то же что и при выключенной мультипроцессности - очень долгий старт браузера, не жмакаются созданные кнопки и не открываются на редактирование
1. при выключенной мультипроцессности - Was ist das? Как это включается и выключается... я что то упустил видимо.
2. очень долгий старт браузера - старт как был так и остался или см №1
3. не жмакаются созданные кнопки и не открываются на редактирование проверь содержимое переменной dom.max_script_run_time. У моей жены она равна 500, а у меня от 7 до 15 и всё быстро работает, а вот у неё тормозит и очень сильно.
Насчёт меняния текста/числа в 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; };
Или что то другое?
А можно объединить подобным образом 2 кнопки?
Можно, т.е. это не кнопки, а как я понимаю функции кнопок... ну или я неправильно понял.
Отредактировано Indomito (19-01-2016 18:11:41)
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
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)
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
Он срабатывает только в точке инициализации открывая дополнения, а потом просто пустые вкладки по ЛКМ.
Потому что ты не правильно его запускаешь по ЛКМ, надо так
ну или пропиши адрес "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
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; };я не смог заставить работать.... подсказка это имя кнопки и не более. Может надо что то добавить или убрать? Поясни... плз.
Наверно надо заменить:
на:
Это был просто пример из моей кнопки, он и не должен был работать без изменений в твоей кнопке.
Отредактировано bunda1 (19-01-2016 19:05:33)
Отсутствует
bunda1 да я уж докопался методом научного тыка + анализа кода.
Спасибо за сниппеты и помощь.
Отредактировано Indomito (19-01-2016 19:26:50)
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
А можно объединить подобным образом 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П: Обновить все вкладки";
Отсутствует
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)');
Отредактировано Indomito (19-01-2016 23:25:48)
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
1. при выключенной мультипроцессности - Was ist das? Как это включается и выключается... я что то упустил видимо.
настройки - общие - Enable multi-process Nightly
3. не жмакаются созданные кнопки и не открываются на редактирование проверь содержимое переменной dom.max_script_run_time. У моей жены она равна 500, а у меня от 7 до 15 и всё быстро работает, а вот у неё тормозит и очень сильно.
dom.max_script_run_time = 30
напоминаю - все проблемы (долгий старт браузера, не работают кнопки) только в Firefox Nightly, версия 46.0a1
в текущем релизе все нормально работает.
Отсутствует
Еще вариант длинного клика мыши для вкладки:
// Настройка длинного клика мыши для вкладки .............. 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);
Отсутствует
в текущем релизе все нормально работает.
Ааа... "ночная" сборка, я это упустил... сорри.
Добавлено 19-01-2016 21:45:39
bunda1 А чем Открыть/Закрыть Настройки - нет решения?
Отредактировано Indomito (19-01-2016 21:45:39)
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
bunda1 А чем Открыть/Закрыть Настройки - нет решения?
Сегодня 13:04:46 только измени адрес.
Отсутствует
bunda1 делал не срабатывает... Работает только на открытие... правда я не уверен что верно написал.
Если адрес - about:preferences#advanced, а потом сменился на about:preferences#general то что же писать?
Отредактировано Indomito (19-01-2016 21:56:25)
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
Ааа... "ночная" сборка, я это упустил... сорри.
т.е. помощи не искать и ожидать, что в ближайшие текущие релизы браузера CustomButtons снабдится пометкой "не для текущей версии Firefox"?
Отсутствует
pag77 у меня версия 0.0.5.8.1-signed.1-let-fixed от 30.12.2015 — куда уж новее то?
Отредактировано Indomito (19-01-2016 22:32:05)
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
Если адрес - 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();
Отсутствует
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)
Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©
Отсутствует