bunda1
Спасибо за помощь, но можно сделать чтобы по правой кнопке не вызывалось контекстное меню.
У меня по правой кнопке не вызывается контекстное меню с этим кодом Сегодня 18:51:37. Ты наверно его не в инициализацию положил.
Отсутствует
bunda1
Не, всё правильно сделал...
Там https://forum.mozilla-russia.org/viewto … 27#p704727 в коде же написано вызов по ПКМ BrowserOpenAddonsMgr и в tooltip
if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) { // ПКМ e.preventDefault(); BrowserOpenAddonsMgr(); } }; this.tooltipText = "Л: Открыть панель Загрузки \nС: CB Меню \nП: Открыть дополнения Firefox";
Отсутствует
bunda1
Не, всё правильно сделал...
Там https://forum.mozilla-russia.org/viewto … 27#p704727 в коде же написано вызов по ПКМ BrowserOpenAddonsMgr и в tooltip
А как нужно?
Отсутствует
difabor пишетМежду этими кнопками огромные интервалы. Как бы их уменьшить?
Стиль https://sites.google.com/site/serials10 … ll_buttons
Или одноимённое расширение https://sites.google.com/site/serials10 … extensionsxrun1 пишетКод утащил отсюда.
Тот код для FF40+ и Win10, а у difabor судя по скрину версия FF ниже. А если UA не изменённый и вовсе Win 8.1 ...
Спасибо большое!
Работает, как доктор прописал!
Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©
Отсутствует
bunda1
Подскажите ещё... Как вызвать по ЛКМ "Недавно закрытые вкладки"скрытый текст
Отсутствует
Подскажите пожалуйста, кнопка FF Exp Imp CB(Firefox) работает в линуксе? Или может какая другая кнопка есть? Если работает, как правильно указать путь для чтения/записи кнопок?
В home создана папка "FF Exp Imp CB": /home/garider/FF Exp Imp CB
Полный путь : dev/sda7/home/garider/FF Exp Imp CB
В самой кнопке по умолчанию так:
const cPathEI = "C:\\Custom Buttons\\Сохранение кнопок\\";
const csSetIET = "Каталог для Экспорта/Импорта кнопок в/из HTML";
"Лечится", кучей способов, а аналогичную кнопку кроме меня ни кто не делал, т.е. я не видел аналога ей.
1. Нажимаешь на СКМ и будет запрос пути - стандартный Widows — диалог выбора папки.
2. В переменной Export.Import.CB.type.HTML хранится путь
const cEICB = "Export.Import.CB.type.HTML"; // Желательно не трогать, т.к. старые кнопки будут считываться с ошибками
3. Можно поправить код для СКМ
//********************************************************************* //Установить каталог записи/чтения function mbMouse(){ var sPathEI=Application.prefs.getValue(cEICB, 0), myfilename = GenFileName(); if (chkPath(sPathEI) == -1) { custombuttons. alertBox (csSetIET, "переменная "+cEICB+" уже существует и занята") return; //Нельзя создавать тк переменная уже занята }; // Диалог создания и установки пути var fp = Components.classes["@mozilla.org/filepicker;1"] .createInstance(Components.interfaces.nsIFilePicker); fp.init(window, csSetIET, fp.modeGetFolder); var dd = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); dd.initWithPath(sPathEI); fp.displayDirectory = dd; if(fp.show() == fp.returnCancel) return; else { sPathEI = fp.file.path Application.prefs.setValue(cEICB, sPathEI+=(sPathEI[sPathEI.length-1] != "\\")?"\\":""); custombuttons. alertBox (csSetIET, "Установлен путь для записи/чтения \n " + sPathEI); } };
Ранее проблем не было, может путь не валидный?
P.S. Путь можно прописать и в ручную — путь берётся из стандартного диалога и всё. Правда при ошибочном пути в Export.Import.CB.type.HTML был отказ, т.к. этот путь по умолчанию и вот если он не существует то скрипт потребует его переопределить... я по сути исправил все тонкие места в скрипте.
P.P.S. Если будут ошибки пиши мне в ЛС.
Отредактировано Indomito (18-01-2016 19:59:55)
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
Хотелось бы кнопку которая позволит закрыть все вкладки справа, не по нажатию на саму кнопку а двойным кликом ЛКМ на вкладке, после которой должны быть закрыты другие вкладки.
addEventListener("dblclick", function(e) { if ( e.button == 0 && e.target.localName == "tab" ) { e.preventDefault(); e.stopPropagation(); gBrowser.removeTabsToTheEndFrom(gBrowser.mCurrentTab); }; }, true, gBrowser.mTabContainer);
Отсутствует
bunda1
Создай новую кнопку, положи в вкладку код for (var br of gBrowser.browsers) br.stop();
Создал, вытащил на панель.
попробуй нажатием на эту новую кнопку остановить загрузку всех вкладок
Эта кнопка останавливает перезагрузку одной вкладки (все вкладки перезарузить не получается)
Если не получится значит проблема в for (var br of gBrowser.browsers) br.stop();
Получается остановить перезагрузку одной вкладки, что делать с этим кодом?
Спасибо!
Отсутствует
Тут авторы бывают? А вопрос про Nightly (46) уже задавали?
Проблема в том, что:
1. при запуске Nightly браузер "тупит" от 20 до 50 секунд (как повезет) и только потом показывает свои вкладки и т.д.
2. уже несколько дней в Nightly не работают CustomButtons-кнопки: не жмакаются и не открываются на редактирование.
авторы полностью забросили аддон или есть надежда на восстановление работоспособности?
PS: мультипроцессорность отключена. с ней CustomButtons уже месяца два не работает.
Отсутствует
Тут авторы бывают?
Автор тут давно не показывался
2. уже несколько дней в Nightly не работают CustomButtons-кнопки: не жмакаются и не открываются на редактирование.
А это пробовал 09-10-2015 12:29:01
Отсутствует
pag77 а зачем тебе авторы? Всё работает нормально, ну иногда они обновляют версию, т.е. когда требуется.
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
PS: мультипроцесс
орность отключена. с ней CustomButtons уже месяца два не работает.
Если не затруднит, распиши что именно при включённой мультипроцессности не работает.
Ну, кроме custombutton://-протокола (с контентских дел), разумеется.
Отредактировано Dumby (18-01-2016 23:00:23)
Отсутствует
bunda1 Может кто-нибудь поможет в создании кнопки... Код простой, но как закрывать Настройка и Дополнения — я раньше делал, но в новой версии они не работают, т.е. давно уже не работают.
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
как закрывать Настройка и Дополнения — я раньше делал, но в новой версии они не работают, т.е. давно уже не работают.
Не понял, ты хочешь закрывать из кнопки страницы Настройка и Дополнения или что?
Добавлено 18-01-2016 23:18:35
Эта кнопка останавливает перезагрузку одной вкладки (все вкладки перезарузить не получается)
так ты хочешь длинным кликом остановыть загрузку всех вкладок или перегрузить все вкладки?
Отредактировано bunda1 (18-01-2016 23:18:35)
Отсутствует
ты хочешь закрывать из кнопки страницы Настройка и Дополнения
Именно — сделать на закрытие Дополнений, если они открыты.
И ещё реализовать Обновление Дополнений через кнопку... все мои попытки это сделать работают не так как надо.
bunda1 Сейчас кнопка выглядит так(код старый, но работает)
/*Initialization Code*/ //Открыть установленные дополнения function lbMouse(){ getBrowser (). selectedTab = getBrowser (). addTab ("about:addons"); }; //Проверить обновление дополнений function mbMouse(){ }; //Открыть базу дополнений в интернете function rbMouse(){ getBrowser (). selectedTab = getBrowser (). addTab ("https://addons.mozilla.org/ru/firefox/") }; function BrowserOpenAddonsMgr(aPane) { const EMTYPE = "Extension:Manager"; var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"] .getService(Components.interfaces.nsIWindowMediator); var theEM = wm.getMostRecentWindow(EMTYPE); if (theEM) { theEM.focus(); return theEM; } const EMURL = "chrome://mozapps/content/extensions/extensions.xul"; const EMFEATURES = "chrome,menubar,extra-chrome,toolbar,dialog=no,resizable"; return window.openDialog(EMURL, "", EMFEATURES); }; this.tooltipText = "Left => Установленные дополнения \nMiddle => \nRight => Дополнения в интернете"; this.onclick = function(event) { if(event.button == 0) { // Действие при клике ЛКМ lbMouse(); } else if(event.button == 1) { // Действие при клике СКМ mbMouse(); } else if(event.button == 2 && !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) { // Действие при клике ПКМ без модификаторов rbMouse(); } }; this.oncontextmenu = function(event) { if(event.button == 2 && !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) { // Блокируем контекстное меню при клике ПКМ без модификаторов event.preventDefault(); event.stopPropagation(); } };
А вот как ЛКМ сделать на закрытие Дополнений, если они открыты, а СКМ задействовать на обновление Дополнений?
P.S. Раньше так и было, но с обновлением версий FF это не стало работать.
Отредактировано Indomito (19-01-2016 00:09:50)
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
а длинным кликом по левой кнопке? что вставить вместо dblclick?
Может кто-то подскажет более простой способ, но я (по рабоче-крестьянски) знаю такой:
var tmousedown = [0,0,0]; //где-то в начале //Ваш код... addEventListener("mousedown", function(e) { //Фиксируется время нажатия любой кнопки ЛКМ - 0, СКМ - 1, ПКМ - 2. tmousedown[e.button] = Date.now(); }, true, gBrowser.mTabContainer); addEventListener("click", function(e) { if ( e.button == 0 && e.target.localName == "tab" && (Date.now() - tmousedown[0] > 800)) {//800 - это 0.8 секунды, но можно выбрать и другой критерий "длинности" e.preventDefault(); e.stopPropagation(); gBrowser.removeTabsToTheEndFrom(gBrowser.mCurrentTab); }; }, true, gBrowser.mTabContainer);
В принципе так можно задать любой длинный клик, не только в gBrowser.mTabContainer).
Если есть операции по mouseup, которые надо подавить тоже, то надо также добавить:
addEventListener("mouseup", function(e) { if ( e.button == 0 && e.target.localName == "tab" && (Date.now() - tmousedown[0] > 800)) { e.preventDefault(); e.stopPropagation(); }; }, true, gBrowser.mTabContainer);
Отредактировано difabor (19-01-2016 03:31:28)
Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©
Отсутствует
Как обойти ограничение в 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 ― Редактирование кнопки";
Если есть операции по mouseup, которые надо подавить тоже, то надо также добавить:
и не забыть про модификаторы, а то долгое удержание, т.е. выше 800 вызовет контекстное меню.
Привет, кстати, я сюда давно не заходил.
Отредактировано Indomito (19-01-2016 05:19:44)
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует
sonyas75 Готовая кнопка Я правда её переделал под себя, но это уже детали.
Insert special symbol(Firefox) All the versions
Indomito & difabor - версия от 27.05.2014
За основу взят код bunda1 - Вставка символа в текстовое поле(Firefox) от 11.05.2013
Left Short — Вставка символа из списка
Left Long Or Left+Shift — Редактирование списка символов
Middle or Left+Ctrl — Возврат к исходному списку символов
(Middle or Left+Ctrl)+Shift — Мерять длительность клика
Right Short — Запуск таблицы символов Windows
Right Long or Right+Shift — Стандартное Меню Кнопки
Short(быстрый клик ЛКМ‖ПКМ) и Long(Удержание ЛКМ‖ПКМ) определяются значением переменной delay в ms (по умолчанию delay=600)
var delay = 600, array = [], symbList, myID = _id, symbName = myID + ".symbols",mynum=0;
"Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать." Штейнбах
Отсутствует