Viatcheslav
Полазил в коде, и понял что все там делает код Dumby, если хотите можете что нибудь поправить)... старый код оставил //.
В общем ну его, пытался чета там свое добавить но это капец мозг грузит когда не понимаешь что каждый код делает.
Отсутствует
у мну на 57.0.4 такое работает
Может, дело в версии Custom Buttons? У меня 0.0.5.9.8.4
Отсутствует
Ferguss114 пишетПодскажите, как превратить формат JSON в удобочитаемый вид?
Читал я там, но мало что понял.
Вот я шлю xmlhttp запрос, получаю свой JSON и открываю его в браузере. Выглядит это так
А как мне привести свой JSON вот к такому виду?
Отсутствует
На 57.0.4, к сожалению, добавляет символы только в адресную строку и строку поиска. В текстовых полях страниц Интернета по-прежнему не фурычит
Ну правильно, речь-то шла про 61, поэтому используется сахар,
добавленный для Firefox 60+. А для 57, у того, что грузится в другой процесс,
Cc и Ci следует писать полностью — Components.classes и Components.interfaces
Вот, кстати, варант с символами в несколько колонок.
Если css не нужен, или не подходит, но подгонять не предполагается,
то раскомментируйте //0&&
this.type != "menu" ? this.type = "menu" : (popup => { var columns = [ "¤ ¦ § © « » ¬ ® ° ± µ ¶ — ‘ ’ “ ” • ‰ ‹ › ™", "… ≈ ≠ × ✓ ✗ ⊞ ⊞ ⊞ ⊞ ⊞ ⊞ ⊞ ⊞ ⊞ ⊞ ⊞", "\uD83E\uDD8A \uD83D\uDE0E ⊞ ⊞ ⊞ ⊞ ⊞ ⊞ ⊞" ]; var css = //0&& ` #${_id} menuitem > .menu-text { font-size: 22px; font-family: Consolas, Rockwell, Verdana; text-align: center; -moz-appearance: none; margin: 0; padding: 0 14px; } #${_id} menuitem > :not(.menu-text) { display: none; } #${_id} > menupopup > arrowscrollbox { background-color: menu; } `.replace(/;/g, " !important;"); var inserter = { get docShell() { delete this.docShell; return this.docShell = "docShell" in document && document.docShell instanceof Ci.nsIDocShell ? document.docShell : window.docShell; }, get insertText() { delete this.insertText; return this.insertText = text => { if (!this.docShell.isCommandEnabled("cmd_insertText")) return; var params = "createCommandParams" in Components.utils ? Cu.createCommandParams() : Components.classes["@mozilla.org/embedcomp/command-params;1"] .createInstance(Components.interfaces.nsICommandParams); params.setStringValue("state_data", text); this.docShell.doCommandWithParams("cmd_insertText", params); } }, insert(text) { var br = document.activeElement; !br || br.localName != "browser" || !br.isRemoteBrowser ? this.insertText(text) : br.messageManager.loadFrameScript( `data:,(${this.insertText})${encodeURIComponent(text.toSource())}` , false, true); } }; this.onmousedown = e => { if (e.button) return; popup.addEventListener("popupshowing", e => popup.firstChild .boxObject.parentBox.setAttribute("orient", "horizontal") , {once: true}); popup.setAttribute("context", ""); popup.setAttribute("oncommand", "inserter.insert(event.target.label);"); popup.onauxclick = e => { var sym = e.target.label; sym && inserter.insert(sym); } popup.inserter = inserter; var df = document.createDocumentFragment(); for(var symbols of columns) { var menugroup = popup.appendChild(document.createElement("menugroup")); menugroup.setAttribute("orient", "vertical"); for(var sym of symbols.split(" ")) menugroup.appendChild( document.createElement("menuitem") ).setAttribute("label", sym); } popup.append(df); this.onmousedown = null; if (!css) return; var dwu = "windowUtils" in window && windowUtils instanceof Ci.nsIDOMWindowUtils ? windowUtils : window.QueryInterface(Ci.nsIInterfaceRequestor) .getInterface(Ci.nsIDOMWindowUtils); var type = dwu.AGENT_SHEET; var url = "data:text/css," + encodeURIComponent(css); dwu.loadSheetUsingURIString(url, type); addDestructor(() => dwu.removeSheetUsingURIString(url, type)); } })(this.appendChild(document.createElement("menupopup")));
UPD 2: Bug 1491561 - Remove the XPCOM registrations for LoadContextR.I.P. (Firefox 64+)
Comment 6 -> Backed out
Отредактировано Dumby (19-09-2018 22:20:48)
Отсутствует
Alex_one
Просто скопировать, открыть кнопку на редактирование,
и вставить в нужную колонку на нужную позицию.
А записал как \uXXXX\uXXXX только потому, что форум отказывается
принимать код с символом как он есть. Обрезает сообщение и всё.
Отсутствует
А для 57, у того, что грузится в другой процесс,
Cc и Ci следует писать полностью — Components.classes и Components.interfaces
Ни фига не понял, о чём речь Если о коде кнопки - так там эти функции именно так и прописаны, ну да ладно
Вот, кстати, варант с символами в несколько колонок.
Если css не нужен, или не подходит, но подгонять не предполагается,
то раскомментируйте //0&&скрытый текстВыделить кодКод:
this.type != "menu" ? this.type = "menu" : (popup => { var columns = [ "¤ ¦ § © « » ¬ ® ° ± µ ¶ — ‘ ’ “ ” • ‰ ‹ › ™", "… ≈ ≠ × ✓ ✗ ⊞ ⊞ ⊞ ⊞ ⊞ ⊞ ⊞ ⊞ ⊞ ⊞ ⊞", "\uD83E\uDD8A \uD83D\uDE0E ⊞ ⊞ ⊞ ⊞ ⊞ ⊞ ⊞" ]; var css = //0&& ` #${_id} menuitem > .menu-text { font-size: 22px; font-family: Consolas, Rockwell, Verdana; text-align: center; -moz-appearance: none; margin: 0; padding: 0 14px; } #${_id} menuitem > :not(.menu-text) { display: none; } #${_id} > menupopup > arrowscrollbox { background-color: menu; } `.replace(/;/g, " !important;"); var inserter = { get docShell() { delete this.docShell; return this.docShell = "docShell" in document && document.docShell instanceof Ci.nsIDocShell ? document.docShell : window.docShell; }, insertText: function(text) { if (!this.docShell.isCommandEnabled("cmd_insertText")) return; var params = Components.classes["@mozilla.org/embedcomp/command-params;1"] .createInstance(Components.interfaces.nsICommandParams); params.setStringValue("state_data", text); this.docShell.doCommandWithParams("cmd_insertText", params); }, insert(text) { var br = document.activeElement; !br || br.localName != "browser" || !br.isRemoteBrowser ? this.insertText(text) : br.messageManager.loadFrameScript( `data:,(${this.insertText})${encodeURIComponent(text.toSource())}` , false); } }; this.onmousedown = e => { if (e.button) return; popup.addEventListener("popupshowing", e => popup.firstChild .boxObject.parentBox.setAttribute("orient", "horizontal") , {once: true}); popup.setAttribute("context", ""); popup.setAttribute("oncommand", "inserter.insert(event.target.label);"); popup.onauxclick = e => { var sym = e.target.label; sym && inserter.insert(sym); } popup.inserter = inserter; var df = document.createDocumentFragment(); for(var symbols of columns) { var menugroup = popup.appendChild(document.createElement("menugroup")); menugroup.setAttribute("orient", "vertical"); for(var sym of symbols.split(" ")) menugroup.appendChild( document.createElement("menuitem") ).setAttribute("label", sym); } popup.append(df); this.onmousedown = null; if (!css) return; var dwu = "windowUtils" in window && windowUtils instanceof Ci.nsIDOMWindowUtils ? windowUtils : window.QueryInterface(Ci.nsIInterfaceRequestor) .getInterface(Ci.nsIDOMWindowUtils); var type = dwu.AGENT_SHEET; var url = "data:text/css," + encodeURIComponent(css); dwu.loadSheetUsingURIString(url, type); addDestructor(() => dwu.removeSheetUsingURIString(url, type)); } })(this.appendChild(document.createElement("menupopup")));
А за это спасибо - рабочий вариант У кого в выпадающем меню на кнопках не отображаются вставляемые символы (при наведении курсора видна только граница кнопки) без раскомментирования стиля, нужно значение none участка кода
заменить на visible
Отсутствует
Ну правильно, речь-то шла про 61, поэтому используется сахар,
добавленный для Firefox 60+. А для 57, у того, что грузится в другой процесс,
Cc и Ci следует писать полностью — Components.classes и Components.interfaces
А где можно посмотреть все изменения в коде? ну какие там поменялись, или можешь список написать (если не трудно).
Просто все эти bugzilla читать+на английском, вопрос насчет Components.utils он как я понял пишется Cu? и Components.Constructor не меняется?
Также как понял Components.classes и Components.interfaces, они как бы универсальные? то есть работают там и там, просто удобно если новый код писать начиная с 60+?
Отсутствует
func4ptch4
А где можно посмотреть все изменения в коде? ну какие там поменялись, или можешь список написать (если не трудно).
Список изменений в коде Firefox? Ну, давай прикинем.
Вот, например, на иноязычном форуме, в теме Firefox Builds Josa ведёт лог изменений.
Открой три-четыре страницы типа «The first official 201xxxxx builds are out».
Каждая — это список изменений примерно за сутки.
Теперь умножь на тот период, за который хотелось бы видеть список.
Представил объём?
Разумеется, непосредственное отношение к CB
имеет лишь мизерная часть, но кто отфильтрует?
вопрос насчет Components.utils он как я понял пишется Cu? и Components.Constructor не меняется?
Да.
Также как понял Components.classes и Components.interfaces, они как бы универсальные? то есть работают там и там
Ну, в общем случае, да.
Но если кто-то осмелится в…ть баг
от основателя движения «Больные люди» как FIXED,
то это будет эпический ппц.
просто удобно если новый код писать начиная с 60+
Для основного процесса Cx's прокинуты с незапамятных времён.
Вот смотри, то, что пишется во вкладке Код или Инициализация,
это же не просто где-то в вакууме, но является телом функции.
А Cx's просто среди аргументов этой функции.
Запусти кнопку с кодом alert(arguments.callee);
и увидишь.
Отсутствует
Dumby, ясно, спасибо.
Даже и не думал что так много изменений в коде)...
А что с этой частью кода, его можно убирать? в 61 не пашет.
Иконки сами не видны но зато компактно, нельзя как-то уместить его в этом плане?
//var css = //0&& ` #${_id} menuitem > .menu-text{ font-size:22px; font-family:Consolas,Rockwell,Verdana; text-align:center; -moz-appearance:none; margin:0; padding:0 14px;} #${_id} menuitem > :not(.menu-text){display:none;} #${_id} > menupopup > arrowscrollbox{background-color:menu;} `.replace(/;/g, " !important;");
Отредактировано func4ptch4 (06-08-2018 20:30:54)
Отсутствует
Артик
Молиться!) а если серьезно то, с какой версий ты перешел на 61?
Отсутствует
Артик, у меня с этим набором переход с 56.0.2 прошёл отлично.
Отсутствует
АртикМолиться!) а если серьезно то, с какой версий ты перешел на 61?
Сначала с 54 перешёл на 56, потом с 56 перешёл на 61. И не работает кустом буттонс
Отредактировано Артик (12-08-2018 12:03:10)
Отсутствует
func4ptch4 пишетАртикМолиться!) а если серьезно то, с какой версий ты перешел на 61?
Сначала с 54 перешёл на 56, потом с 56 перешёл на 61. И не работает кустом буттонс
Тебе дали ссылку, качай оттуда и делай по инструкций.
Вообще надо где firefox.exe лежит, создать config.js туда то что в первом посте по ссылке, скопировать и вставить, потом
Х:\Program\Firefox\config.js - сюда тот код.
Х:\Program\Firefox\defaults\pref\config-prefs.js - здесь такой код, ниже...
pref("general.config.obscure_value", 0); pref("general.config.filename", "config.js");
+ не мешает обновить CustomButtons, скачиваешь файл, и устанавливаешь перетаскиванием в окно фф... не забудь сперва в профиле, в папке extensions удалить старый CB (или через меню дополнение в самом фф).
Отсутствует
Артик пишет: func4ptch4 пишет: АртикМолиться!) а если серьезно то, с какой версий ты перешел на 61?Сначала с 54 перешёл на 56, потом с 56 перешёл на 61. И не работает кустом буттонсhttps://a.radikal.ru/a01/1808/fc/0c577e670f24.jpgТебе дали ссылку, качай оттуда и делай по инструкций.Вообще надо где firefox.exe лежит, создать config.js туда то что в первом посте по ссылке, скопировать и вставить, потом Х:\Program\Firefox\config.js - сюда тот код.Х:\Program\Firefox\defaults\pref\config-prefs.js - здесь такой код, ниже...Выделить кодКод:pref("general.config.obscure_value", 0);
pref("general.config.filename", "config.js");+ не мешает обновить CustomButtons, скачиваешь файл, и устанавливаешь перетаскиванием в окно фф... не забудь сперва в профиле, в папке extensions удалить старый CB (или через меню дополнение в самом фф).
Всё появилось, спасибо. Просто пару раз перезагрузил Мозиллу. От души, помогли)
Добавлено 12-08-2018 13:49:30
Теперь новая проблема возникла. Старые кнопки что у меня были, теперь не действуют. Не работают. Может новые коды для них нужно подбирать? У меня целый список этих кнопок...((
Отредактировано Артик (12-08-2018 13:49:30)
Отсутствует
Ну эта норма) 70% кнопок отвалилось с новыми фф.
Править их могут только те кто знает что надо править, в общем это тупик.
Отсутствует
Ну эта норма) 70% кнопок отвалилось с новыми фф.Править их могут только те кто знает что надо править, в общем это тупик.
Ну здесь то на форуме можно узнавать коды кнопок для новой Мозиллы? Где-то кто-то тут раздаёт щедро коды)
Отсутствует
Ты про это? так там многие кнопки забросили...
https://forum.mozilla-russia.org/viewtopic.php?id=41987&p=1
А так есть пару кнопок рабочих надо искать тута в каждой странице) если есть время...
Отсутствует
Ты про это? так там многие кнопки забросили... https://forum.mozilla-russia.org/viewtopic.php?id=41987&p=1А так есть пару кнопок рабочих надо искать тута в каждой странице) если есть время...
Я имел в виду, если я дам список кнопок, кто-нибудь сможет дать список новых кодов для новой Мозиллы? В противном случае, какой смысл иметь кнопки и дополнение CB, если ты сам не умеешь придумывать коды?
Отсутствует
Ну одну кнопку вроде смастерил, примитивную по меркам проффи... ну и мне такое сойдет, а так пару кнопок пока пашут пусть будут, тот же вопрос?
Зачем тебе были нужны те кнопки если сам не умеешь править?)...
Ты сам себе противоречишь, а так никто не будет тратить время на все твой кнопки... тут один с трудом сделали (уже чудо).
А так говорю молиться и еще раз) а легче забить, форум умирает нет тех кому это интересно, тут из профи в основном наблюдающие и все. (ну они видят наши переписки) но им до... ну я их понимаю на... ты им сдался.
Тебе надо ты и делай не умеешь удаляй или проси, есть шанс из 100%, 5% где-то, может меньше.
Да и вообще, тут писали что смысл чинить то что скоро будет сломано окончательно.
Вот и ответил сам себе).
Отредактировано func4ptch4 (12-08-2018 21:12:50)
Отсутствует
Ну одну кнопку вроде смастерил, примитивную по меркам проффи... ну и мне такое сойдет, а так пару кнопок пока пашут пусть будут, тот же вопрос?Зачем тебе были нужны те кнопки если сам не умеешь править?)...
Мне нужны были кнопки, чтобы их использовать. Я пользователь, а не программист. То же самое можно сказать и про компьютеры. Зачем людям компьютеры (ноутбуки, гаджеты и т.д), если они их мастерить не умеют и не разбираются в программировании?
Отсутствует