Всем привет.
Столкнулся с редкой но неприятной ситуацией.
Есть сайт
Отсутствует
Как сделать, чтобы такие окна содержали мои кнопочки?
Открывать их в новой вкладке.
Отсутствует
AlexandrDa пишетКак сделать, чтобы такие окна содержали мои кнопочки?
Открывать их в новой вкладке.
в данном случае по средней кнопке они не открываются в новой вкладке.
приходится делать лишнее действие с копированием ссылки и вставки ее в основное окно
Отсутствует
Отсутствует
AlexandrDa пишетв данном случае по средней кнопке они не открываются в новой вкладке.
Т.е. как не открываются в новой вкладке?
http://i.imgur.com/ggsFvMWs.jpg
У меня Tab Mix Plus. там картинка немного другая. Но там есть нужный пункт.
Спасибо!
Отсутствует
//"Stop Loading All Tabs" in Tab Context Menu.............................................
(function() {
//выходим, если функция уже выполнялась
if (document.getElementById("StopAllTab")) return;
//новый пункт в меню вкладок
//настройки языка
var locale = Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefBranch)
.getCharPref("general.useragent.locale");
var tabContext = document.getAnonymousElementByAttribute(
gBrowser, "anonid", "tabContextMenu") ||
gBrowser.tabContainer.contextMenu;
var menuitem = tabContext.insertBefore(document.createElement("menuitem"), document.getElementById("context_reloadTab"));
menuitem.id = "StopAllTab";
menuitem.setAttribute("label", locale.indexOf("ru") == -1?"Stop Loading All Tabs":"Остановить загрузку всех вкладок");
menuitem.setAttribute("oncommand", "StopTab(event);" );
tabContext.insertBefore(menuitem,tabContext.firstChild.nextSibling);
//Остановить все вкладки
StopTab = function(event){
var len = gBrowser.mPanelContainer.childNodes.length;
for (var i = 0; i < len; i++) {
gBrowser.getBrowserAtIndex(i).stop();
}
};
})();
/*Пункт меню "Остановить загрузку всех вкладок"*/
Отредактировано Kiril__777 (30-03-2013 21:55:07)
Отсутствует
Подскажите, если я хочу перенести этот пункт из контекстного меню вкладки (tabContextMenu) в меню "Firefox" (appmenuSecondaryPane), то мне нужно одно значение заменить на другое?
Вот пример Добавить новый пункт "Перезапуск" в главном меню(Firefox 3.6 +)
Добавлено 30-03-2013 23:30:44
Или вот так:
(function() { // блокировать дублирование пункта при открытии настройки панелей if ( document.getElementById("stopAllTab") ) return; var menuItem = document.createElement("menuitem"); menuItem.setAttribute("id", "stopAllTab"); menuItem.setAttribute("label", "Остановить загрузку всех вкладок"); menuItem.setAttribute("oncommand", "for ( var i = 0; i < gBrowser.tabs.length; i++) { gBrowser.getBrowserAtIndex(i).stop() }" ); var privateBrowsing = document.getElementById("appmenu_privateBrowsing"); // над пунктом 'Начать приватный просмотр' privateBrowsing.parentNode.insertBefore( menuItem, privateBrowsing ); })();
Отредактировано bunda1 (30-03-2013 23:30:44)
Отсутствует
Вопрос знающим людям как сохранить новые атрибуты на вкладках после рестарта. Я добавил на текущую вкладку
как сделать что бы и после рестарта он там сохранялся и при переносе в новое окно?
Отсутствует
как сохранить новые атрибуты на вкладках после рестарта
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Может это кому то нужно.
Блокировать атрибут "target", "_blank" у ссылок при левом клике:
// Блокировать атрибут "target", "_blank" у ссылок при левом клике .......................................... function openLinkInCurrent(e) { for ( var target = ( e.button==0 ? e.target : null); target !== null; target = target.parentNode ) { if ( target.localName && target.localName.toLowerCase() == 'a' ) { e.preventDefault(); e.stopPropagation(); loadURI( target.href ); break; } } } addEventListener('click', openLinkInCurrent, false, gBrowser);
Отсутствует
bunda1
Это упрощенный вариант этой кнопки:
// Настройка функций кликов мыши для кнопки ............................................... this.onclick = function(e) { if ( e.button == 0 ) addHostInPref(); // ЛКМ if ( e.button == 1 ) gShowPopup(this); // СКМ if ( e.button == 2 && e.metaKey ) gShowPopup(this); // ПКМ + Ctrl if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) { // ПКМ e.preventDefault(); editExclusions(); } }; const editor = "data:text/html;base64,PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50ID0gInRleHQvaHRtbDsgY2hhcnNldCA9IHV0Zi04IiAvPiA8VEVYVEFSRUE+PC9URVhUQVJFQT4gPHN0eWxlPiBodG1sIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfSB0ZXh0YXJlYSB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IH0gPC9zdHlsZT4KCg=="; const alertsService = Components.classes["@mozilla.org/alerts-service;1"].getService(Components.interfaces.nsIAlertsService); var button = this; var val = Application.prefs.getValue("removeTarget.disabled", 0); removeTargetDisabled = ( val == 0 )? "": val; // получить исключения при старте // Удалить атрибут target _blank в разрешенных доменах ..................................... function removeTarget(e) { // стоп, если открыть другие владки в фоновом режиме .... if ( e.type !== "DOMMouseScroll" && e.target.linkedBrowser.currentURI.spec !== getBrowser().currentURI.spec ) return; if ( getBrowser().currentURI.spec == editor ) gURLBar.value = ""; // стоп, если это указанные домены или 'reader' .... if ( /reader/.test( content.location ) || removeTargetDisabled.indexOf( content.location.host ) !== -1 ) return; var links = gBrowser.contentDocument.links; if ( !links ) return; // стоп, если на странице ссылок нет for ( var i = 0; i < links.length; i++ ) { links[i].removeAttribute("target", "_blank"); }; } gBrowser.addEventListener("DOMMouseScroll", removeTarget, true); gBrowser.tabContainer.addEventListener("TabAttrModified", removeTarget, true); this.onDestroy = function() { gBrowser.removeEventListener("DOMMouseScroll", removeTarget, true); gBrowser.tabContainer.removeEventListener("TabAttrModified", removeTarget, true); if (reason == "delete") custombuttons.clearPrefs("removeTarget.disabled"); }; // Добавить текущий домен или список из редактора в исключения ............................. function addHostInPref() { var currURL = content.location.href; var currHost = content.location.host; if ( currURL !== editor && !currHost || /mozapps|global|browser/.test( currHost ) ) return; if ( currURL !== editor && removeTargetDisabled.indexOf(currHost) !== -1 ) { alertsService.showAlertNotification("chrome://global/skin/icons/error-16.png", button.label, "Исключение уже существует", false, "", null, ""); return; }; if ( currURL == editor ) { var title = button.label var notification = "Сохранил новый список исключений"; var image = "chrome://global/skin/icons/information-16.png"; var str = content.document.getElementsByTagName("textarea")[0].value; removeTargetDisabled = ( str.split(",").length < 2)? "": str; // если нет текста } else { var title = currHost; var notification = "Добавил домен в исключения"; var image = gBrowser.mCurrentTab.image? gBrowser.mCurrentTab.image: button.image; removeTargetDisabled = removeTargetDisabled + currHost + "," + "\n"; }; Application.prefs.setValue("removeTarget.disabled", removeTargetDisabled ); alertsService.showAlertNotification(image, title, notification, false, "", null, ""); }; // Открыть текстовое поле(редактор) и ставить исключения ............................................. function editExclusions() { if ( removeTargetDisabled.length < 2 ) { alertsService.showAlertNotification("chrome://global/skin/icons/error-16.png", button.label, "Исключений нет", false, "", null, ""); return; } for ( var i = 0; i < gBrowser.tabs.length; i++ ) { // закрыть открытие редакторы var tab = gBrowser.mTabs[i]; if ( tab.linkedBrowser.currentURI.spec !== editor ) continue; gBrowser.removeTab(tab); }; ( content.location.href == editor )? loadURI( editor ): gBrowser.selectedTab = gBrowser.addTab( editor ); gBrowser.addEventListener("pageshow", function() { content.document.title = "Editor"; this.removeEventListener("pageshow", arguments.callee, true); content.document.getElementsByTagName("textarea")[0].value = removeTargetDisabled; // ставить исключения }, true); }; this.tooltipText = "ЛКМ: Добавить домен в исключения" +"\n"+ "СКМ: CB меню" +"\n"+ "ПКМ: Редактировать исключения";
Или что-то принципиально другое?
Отсутствует
С переходом на FF 20 отвалились кнопки:
Вставка символа
Текстовые смайлы и Текстовые смайлы(Азия)
Можно их как-нибудь поправить?
Отсутствует
С переходом на FF 20 отвалились кнопки:
Вставка символа
Можно их как-нибудь поправить?
По простому:
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%u0412%u0441%u0442%u0430%u0432%u043A%u0430%20%u0441%u0438%u043C%u0432%u043E%u043B%u0430%20%u0432%20%u0442%u0435%u043A%u0441%u0442%u043E%u0432%u043E%u0435%20%u043F%u043E%u043B%u0435%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEADQ0AAAEAIAAAAwAAFgAAACgAAAANAAAAGgAAAAEAIAAAAAAA2AIAAAAAAAAAAAAAAAAAAAAAAAAAAAAlAAAAVwAAACMAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAPAAAAEoAAAAMAAAAQgAAAOQAAACiAAAAAgAAABcAAABKAAAAVwAAADsAAAAHAAAAGwAAANcAAAC7AAAAFwAAAAsAAACHAAAA8QAAAJ0AAACeAAAA/QAAAP8AAADvAAAAhAAAAL8AAADrAAAAXwAAAAQAAAAAAAAABgAAAJMAAAD/AAAA7AAAAKUAAACHAAAAvQAAAPcAAAD/AAAAYQAAAAAAAAAAAAAAAwAAAAsAAACXAAAA9gAAAF8AAAAAAAAAAQAAAAwAAACOAAAA+QAAAGAAAAAAAAAAAwAAAAAAAAA1AAAA5gAAAK8AAAACAAAABgAAAA4AAAAAAAAAJQAAAOAAAAC1AAAADwAAAAAAAAAAAAAASwAAAPMAAACIAAAAAAAAAAkAAAAAAAAABgAAAAMAAAC8AAAAzgAAACQAAAAAAAAAAAAAAEAAAADuAAAAnAAAAAAAAAALAAAACgAAAAMAAAARAAAAzwAAAMEAAAAXAAAAAAAAAAAAAAAUAAAArwAAAOMAAAA8AAAAAAAAAAgAAAAAAAAAYQAAAP8AAAB+AAAAAgAAAAAAAAAEAAAAAQAAAHwAAAD/AAAAzAAAAG4AAABZAAAAggAAAOMAAAD/AAAASgAAAAAAAAAFAAAAAAAAAFIAAADlAAAAygAAAMYAAAD/AAAA+AAAAP8AAAC8AAAA3AAAAMoAAAApAAAAAAAAADoAAADjAAAAyQAAACEAAAAuAAAAeAAAAH8AAABqAAAAIQAAAD8AAADqAAAAvQAAAB4AAAA4AAAAhQAAADoAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAWQAAAIUAAAAiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20................................................................%20%0Athis.onclick%20%3D%20function%28e%29%20%7B%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20menuPopup.showPopup%28this%2C%20-1%2C%20-1%2C%20%22popup%22%2C%20%22bottomleft%22%2C%20%22topleft%22%29%3B%0A%7D%3B%0A%0A%0A%0A//%20%u0421%u043E%u0437%u0434%u0430%u0442%u044C%20%u043C%u0435%u043D%u044E%20..................................................................................%0Avar%20array%20%3D%20%5B%22%A4%22%2C%20%22%A6%22%2C%20%22%A7%22%2C%20%22%A9%22%2C%20%22%AB%22%2C%20%22%BB%22%2C%20%22%AC%22%2C%20%22%AE%22%2C%20%22%B0%22%2C%20%22%B1%22%2C%20%22%B5%22%2C%20%22%B6%22%2C%20%22%u2014%22%2C%20%22%u2018%22%2C%20%22%u2019%22%2C%20%22%u201C%22%2C%20%22%u201D%22%2C%20%22%u2022%22%2C%20%22%u2030%22%2C%20%22%u2039%22%2C%20%22%u203A%22%2C%20%22%u2122%22%5D%3B%20%0A%0Avar%20node%20%3D%20document.getElementById%28this.id%20+%20%22-menuPopup%22%29%3B%0Aif%20%28%20node%20%26%26%20node.parentNode%20%29%20node.parentNode.removeChild%28node%29%3B%20//%20%u0431%u043B%u043E%u043A%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u0434%u0443%u0431%u043B%u0438%u0440%u043E%u0432%u0430%u043D%u0438%u0435%20%u043C%u0435%u043D%u044E%0A%0Avar%20menuPopup%20%3D%20document.getElementById%28%22mainPopupSet%22%29.appendChild%28document.createElement%28%22menupopup%22%29%29%3B%0AmenuPopup.id%20%3D%20this.id%20+%20%22-menuPopup%22%3B%0A%0Aarray.forEach%28function%28symbol%29%20%7B%20%0A%20%20%20%20%20var%20menuItem%20%3D%20document.createElement%28%22menuitem%22%29%3B%0A%20%20%20%20%20menuItem.setAttribute%28%22label%22%2C%20symbol%20%29%3B%0A%20%20%20%20%20menuItem.style.fontSize%20%3D%20%2216px%22%3B%20//%20%u0440%u0430%u0437%u043C%u0435%u0440%20%u0448%u0440%u0438%u0444%u0442%u0430%0A%20%20%20%20%20menuItem.addEventListener%28%22command%22%2C%20insertText%2C%20false%29%3B%20%0A%20%20%20%20%20menuPopup.appendChild%28menuItem%29%3B%0A%7D%29%3B%0A//this.type%20%3D%20%22menu%22%3B%20%0A%0A%0A%0A//%20%u0421%u0442%u0430%u0432%u0438%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%20%u0432%20%u0442%u0435%u043A%u0441%u0442%u043E%u0432%u043E%u0435%20%u043F%u043E%u043B%u0435%20................................................................%0Afunction%20insertText%28%20text%20%29%20%7B%20%0A%20%20%20var%20text%20%3D%20this.label%3B%0A%20%20%20var%20cmd%20%3D%20%22cmd_insertText%22%3B%0A%20%20%20var%20controller%20%3D%20document.commandDispatcher.getControllerForCommand%28cmd%29%3B%0A%20%20%20if%20%28%20controller%20%26%26%20controller.isCommandEnabled%28cmd%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20var%20controller%20%3D%20controller.QueryInterface%28Components.interfaces.nsICommandController%29%3B%0A%20%20%20%20%20%20%20%20var%20params%20%3D%20Components.classes%5B%22@mozilla.org/embedcomp/command-params%3B1%22%5D.createInstance%28Components.interfaces.nsICommandParams%29%3B%0A%20%20%20%20%20%20%20%20params.setStringValue%28%22state_data%22%2C%20text%29%3B%0A%20%20%20%20%20%20%20%20controller.doCommandWithParams%28cmd%2C%20params%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%7D%3B%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Добавлено 31-03-2013 22:15:08
Конвертирование старых кнопок с XML (E4X) | Форум Mozilla Россия
Отредактировано bunda1 (31-03-2013 22:15:08)
Отсутствует
bunda1
Спасибо огромное!
Буду тестить конвертилку
Добавлено 31 марта 2013 г. 23:02
Хех... прокатило только с кнопкой «Вставка символа»...
Отредактировано Zaycoff (31-03-2013 23:02:30)
Отсутствует
Не должна работать
Проверил, на vk работает, на гугле нет
Добавлено 31-03-2013 23:10:06
Возьму себе новую кнопку, а старую в закромах оставлю
Кстати, может поможешь с подобной проблемой разобраться. В общем стоит Location Bar Enhancer, допустим в истории у нас есть адреса vk.com/feed и vk.com/audio, мы находимся по-первому адресу (вкладка закреплена), наводим на "feed" и крутим колесо, нам предлагается адрес с "audio" жмем на audio ЛКМ и открывается новая вкладка с этим адресом, а если вкладка не закреплена то открывается в текущей. Хотелось бы для закрепленной и незакрепленной вкладки, одинаковое поведение.
Отредактировано Kamui (31-03-2013 23:15:59)
Отсутствует
Kamui
Вот немного усовершенствовал, но тоже есть недостатки::
// Блокировать атрибут "target", "_blank" у ссылок при левом клике .......................................... function openLinkInCurrent(e) { for ( var target = ( e.button==0 ? e.target : null); target !== null; target = target.parentNode ) { if ( target.localName && target.localName.toLowerCase() == 'a' ) { target.removeAttribute("target", "_blank"); if ( gBrowser.mCurrentTab.pinned ) { e.preventDefault(); loadURI( target.href ); } break; } } }; addEventListener('click', openLinkInCurrent, false, gBrowser );
А вот насчёт Location Bar Enhancer не знаю, не пользовался ни когда. Наверно не смогу помочь.
Отредактировано bunda1 (31-03-2013 23:52:45)
Отсутствует
Сегодня обновился до версии 20 и некоторые кнопки перестали работать, помогите друзья. Кнопки не архиважные но привык, удобнее с ними намного.
Compact Menu
Save
Панель поиска на сайте
Seach
BBCode
BB: Color Menu2
Вставка символа
Отсутствует
Compact Menu
По трём вкладкам разложил
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3ECompact%20Menu%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBEAAAEAIACsBAAAFgAAACgAAAAQAAAAIgAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMSAAcROg8hOGEvQV1hL0JdOQ4iOBIABxH7+/uBqKioqv7+/oAAAAAAAAAAAAAAAAAAAAAAAAAAAREABhB6PEx23HZ32+uLe/7rfGv/63tr/+uKev7vv7/tp52g10BAQP6vr6+z////fwAAAAAAAAAAAAAAAR0CEB3AaHK/629j/+FbVP/bUU7/10xK/9ZLSv/sp6X/26mm/0BAQP9AQED/QEBA/9jY2KH///9/AAAAAA8ABQ+6X22+1UpK/8Y2P/+8KDX/tB0v/6sZKf+uGCz/1pae/0BAQP9AQED/QEBA/0BAQP9AQED+8fHxkQAAAAJ0M0hzxz1G/7AYLv+lDCX/ng0b/5APD/+FFgL/1Zid/3BfYf9AQED/QEBA/0BAQP9AQED/QEBA/25ubtgPAAUPt0dc2KULJf+pFCb/tygu/7w1L/+FGAH/nSsW/8OSjf+gf3//qIKB/9aTlf/Vi5P/0YSR/9yosuzw7/CHMAobMLw2Sf60Iyz/xD41/9NSPv/cYUT/0188/+VwSf/IWzj/WhID/0kFAP9zGhT/yEM4/7grL/+9Okn+Nw0fNFYoOVLAOT3/zEg6/9xhRP/qdUv/64RR/+uNVf/rk1f/65NX/9t1Q/9mGQD/YhcE/9NeP//RTz3/xEA//1wsPVlWKDhR01dI/+BnRv/rf0//65JX/+ugXP/rqV7/661g/+utYf/McDH/gS4C/4UyD//CXjX/5G5I/9hdSf9dLD5YMAoaMOp+Zf7rgE//65dZ/+upX//rtGP/671n/+vBaP/rslz/rk4K/51CBf/rjUf/64RI/+uBTf/rhGf+NQweNA4ABg7Tdm3X65NY/+uqX//rumX/68Rq/+vMbf/r0G//68pn/+u+X//cgTD/67hi/+uuYf/rmlr/2Hxv2REABhAAAAACdTlIceudYP/rrV7/66xW/+vMbf/r03D/69Zw/+vVcP/r1HD/68tr/9x+Pv/rkUz/66xo/3Y7SXMAAAACAAAAAA8ABQ+2Z2O70WIX/+uEIf/rvVb/68JY/+vPbf/rsUn/68FX/+uVRf+dNBL/zGw0/8h7dL0PAAUPAAAAAAAAAAAAAAABHAEPHL5qWrzrr0r/69CA/+vQgf/r3qv/696r/+vNgP/rrnb/rEgo/6VXW70dAg8cAAAAAQAAAAAAAAAAAAAAAAAAAAEPAAUPdztFceiUcNjrz47+69yw/+vUmf/ryIT+03pe2XIzRHMPAAUPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIPAAUPMgscMlcpOlNYKTlUMwscMg8ABQ8AAAACAAAAAAAAAAAAAAAAAAAAAP//rEHwA6xBwAGsQYAArEGAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEGAAaxBgAGsQcADrEHwD6xB%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bconst%20sss%20%3D%20Cc%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D.getService%28Ci.nsIStyleSheetService%29%3B%0Aconst%20type%20%3D%20sss.USER_SHEET%3B%0Aconst%20cssURI%20%3D%20makeURI%28%22data%3Atext/css%2C%22%20+%20encodeURIComponent%28this.Help%29%2C%20null%2C%20null%29%3B%0Aif%20%28%21sss.sheetRegistered%28cssURI%2C%20type%29%29%20sss.loadAndRegisterSheet%28cssURI%2C%20type%29%3B%0A%0Athis.onDestroy%20%3D%20function%28%29%20%7B%0A%09if%20%28sss.sheetRegistered%28cssURI%2C%20type%29%29%20sss.unregisterSheet%28cssURI%2C%20type%29%3B%0A%7D%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5Bconst%20ids%20%3D%20%5B%0A%0A%09%22file-menu%22%2C%0A%09%22edit-menu%22%2C%0A%09%22view-menu%22%2C%0A%09%22bookmarksMenu%22%2C%0A%09%22history-menu%22%2C%0A%09%22tools-menu%22%2C%0A%09%22helpMenu%22%0A%5D%3B%0Aconst%20id%20%3D%20%22Compact-Menu-menupopup%22%3B%0Avar%20popup%20%3D%20document.getElementById%28id%29%3B%0Aif%20%28%21popup%29%20%7B%0A%09popup%20%3D%20this.appendChild%28document.createElement%28%22menupopup%22%29%29%3B%0A%09const%20attrs%20%3D%20%7B%0A%09%09id%3A%20id%2C%0A%09%09position%3A%20%22after_start%22%2C%0A%09%09oncontextmenu%3A%20%22event.preventDefault%28%29%22%2C%0A%09%09oncommand%3A%20%22event.stopPropagation%28%29%22%2C%0A%09%7D%3B%0A%09for%20%28var%20attr%20in%20attrs%29%20popup.setAttribute%28attr%2C%20attrs%5Battr%5D%29%3B%0A%0A%09ids.forEach%28function%28id%29%20%7B%0A%09%09var%20clonedMenu%20%3D%20document.getElementById%28id%29.cloneNode%28true%29%3B%0A%09%09clonedMenu.hidden%20%3D%20false%3B%0A%09%09popup.appendChild%28clonedMenu%29%3B%0A%09%7D%29%3B%0A%7D%0Apopup.openPopup%28this%29%3B%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B/*%20Hide%20menubar%20and%20appmenu-button*/%0A%23toolbar-menubar%0A%7B-moz-appearance%3A%20none%20%21important%3Bdisplay%20%3A%20none%20%21important%3B%7D%0A%0A%23appmenu-button-container%2C%20%0A%23appmenu-toolbar-button%2C%0A%23appmenu-button%7B%0Adisplay%3Anone%20%21important%3B%0A%7D%0A%0A%23TabsToolbar%20hbox.titlebar-placeholder%5Btype%3D%22appmenu-button%22%5D%20%7B%0Adisplay%3Anone%20%21important%3B%0A%7D%0A%0A%23TabsToolbar%20toolbarbutton%20%7B%0Amargin-left%3A%200px%20%21important%3B%0Amargin-right%3A%200px%20%21important%3B%0Apadding-left%3A%200px%20%21important%3B%0Apadding-right%3A%200px%20%21important%3B%0A%7D%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Отсутствует