Anton
дабавил if (e.target.nodeName != "xul:toolbarbutton") return; после this.leftclick = function(e){
но серавно this.leftclick = function(e){ неработает + выскакивает меню кнопки при нажатие на дропмаркер
все остальное работает
Отредактировано bunda1 (22-10-2010 00:00:58)
Отсутствует
if (e.target.nodeName != "xul:toolbarbutton") return;
Черт. Должно быть originalTarget:
выскакивает меню кнопки при нажатие на дропмаркер
При нажатии на дропмаркер меню не выскакивает. При выборе пункта меню, может быть ?
Замени:
на
"event.preventDefault();event.stopPropagation();parentNode.parentNode.selectEngine(parentNode.parentNode, event);");
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
ааааааааааааааааа пахоже кнопка работает
я на эту кнопку потратил 4 дня и никак!!!!!
Anton
Спасибо огромное,твоя помощь неоценима!
Отредактировано bunda1 (22-10-2010 00:06:51)
Отсутствует
Anton
Kод который дабавляет в контекстное меню менеджера раширений пункт- открыть папку расширения серавно не работает, даже на новом профиле. Я питался по всякому запустить этот код и на portable и на обичном Firefox, на разных сборках Firefox. Мистика какая-то.
Больше скажу если поместить этот код в /*Initialization Code*/ кнопка становится блеклой а так обычно происходит если что то не порядке с кодом.
Отредактировано bunda1 (22-10-2010 13:38:17)
Отсутствует
если поместить этот код в /*Initialization Code*/ кнопка становится блеклой а так обычно происходит если что то не порядке с кодом.
А, понял. Код без изменений должен будет работать в 0.0.5.2.
Чтобы работало в предыдущих версиях, надо добавить в начало
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Стили и расширение Sidebar AutoHide в 4.0* не работают ,All-in-One Sidebar ведёт себя очень задумчиво-пока не пнёшь каким-нибудь действием закрываться не торопится ....а посему хотелось бы кнопочку > автоматически скрывать \ показывать sidebar
Отсутствует
Всем привет! А возможно сделать кнопочку, которая бы не открывала одинаковые ссылки, т.е. если ссылка на сайт уже открыта во вкладках, второй раз клик по этой ссылке бы ничего не загружал, а просто мигало то окошко, которое уже открыто... Спасибо
Отсутствует
bunda1 так именно он и тормозил со скрытием .... и вообще AiOS глюки периодически выдаёт и для меня функционально избыточен ,раньше вполне хватало связки
Ez Sidebar + Sidebar Autohide.... в четвёрке они не хотят работать
Отсутствует
Крошка Ру
или такой код
с Firefox 3.6.10 и без AiOS работает только измени if (evt. pageX >= 100) так как тебе удобней
Инициализация:
this. toolbarController = { _handleMouseMove: true, set handleMouseMove (val) { this. _handleMouseMove = val; document. getElementById ("sidebar-box"). collapsed = val; }, handleEvent: function (evt) { if (!this. _handleMouseMove) return; var toolbar = document. getElementById ("sidebar-box"); if (evt. pageX <= 5) toolbar. collapsed = false; if (evt. pageX >= 100) toolbar. collapsed = true; } }; window. addEventListener ("mousemove", this. toolbarController, true); this. type = "checkbox";
Отредактировано bunda1 (23-10-2010 21:15:11)
Отсутствует
Всем прювет. Нужны были кнопки для открытия меню tools и bookmarks. Расширение toolbar buttons во-первых глючит (задваивает содержимое меню bookmarks), во-вторых показывает статичное меню, а оно на самом деле меняется, например пункт private browsing в tools. Код для custom buttons на этом форуме вроде тоже делает копию меню. Пришлось изобретать велосипед. Вод этот вариант показывает реальное меню, а не его устаревшую копию:
function ctbShowMainMenuOnToolbar(objEvent, strMenuID) // strMenuID: // bookmarksMenu - bookmarks // tools-menu - tools { var emMenu = document.getElementById(strMenuID); var emPopup = emMenu.lastChild; emMenu.replaceChild(document.createElementNS( 'http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'menupopup'), emPopup); objEvent.target.appendChild(emPopup); emPopup.addEventListener('popuphidden', function(objEvent) { if (objEvent.target == objEvent.currentTarget) { objEvent.target.removeEventListener('popuphidden', arguments.callee, false); emMenu.replaceChild(objEvent.target, emMenu.lastChild); } }, false); emPopup.openPopup(objEvent.target, "after_start"); }
Два вопроса:
1. Чем конкретно отличается обычная toolbar button от кнопки с типом menu? Я пробовал оба варианта и отличий не увидел.
2. Есть дока на русском по java script, описывающая азы? Только по стандарту, а не ту хрень, которую осел поддерживает. Я например до конца не понимаю, каким образом анонимная функция получает доступ к переменным функции, в которой она определена (в моем случае переменная emMenu).
И еще. В первом сообщении по ссылке грузится старье, да еще какой-то КВИП в придачу. А после установки Custom Buttons 2 не смог загрузить ни одной кнопки. Видимо не судьба.
леса живет в лису?
Отсутствует
или такой код с Firefox 3.6.10 и без AiOS работает .....
bunda1 а вот кнопочка работает .... и в 4.0b8pre Спасибо!
Добавлено 23-10-2010 21:19:48
...только измени if (evt. pageX >= 100) так как тебе удобней
этим как я понял можно регулировать ширину открытия панели ?
Отредактировано Крошка Ру (23-10-2010 21:17:56)
Отсутствует
bunda1 а как сделать чтобы пока курсор в поле sidebar он не схлопывался? а то невозможно с ним работать
.... а, всё - после открытия буду жать на саму кнопку ,хотя это не совсем удобно но вполне приемлемо .... вначале хотел её спратать в панели закладок (она у меня скрыта) чтобы зря не светилась ...
Отредактировано Крошка Ру (23-10-2010 21:50:21)
Отсутствует
bunda1 а как сделать чтобы пока курсор в поле sidebar он не схлопывался? а то невозможно с ним работать
измени if (evt. pageX >= 100) на if (evt. pageX >= 300) а лучше на if (evt. pageX >= 400) в коде
100 это расстояние от левого края страницы когда закроется sidebar.
Отредактировано bunda1 (24-10-2010 14:34:36)
Отсутствует
bunda1 ага - сделал .... просто раньше надо было перезапустить браузер чтобы изменения в силу вступили
...повесил кнопку на Vertical toolbarl - стало совсем удобно
Отсутствует
bunda1 работает почти идеально... а можно сделать полоску невидимой и время отклика увеличить? ... а то очень шустро реагирует
Господа,как вам такая идея - "Сказка сказок" Кнопка кнопок
.... и ещё одно впомнил как вариант >
.... вообщем чтобы можно было добавлять кнопки (и желательно другие элементы интерфейса) в выпадающее меню или на возникающую панель
Отредактировано Крошка Ру (24-10-2010 15:38:01)
Отсутствует
Всем привет! А возможно сделать кнопочку, которая бы не открывала одинаковые ссылки, т.е. если ссылка на сайт уже открыта во вкладках, второй раз клик по этой ссылке бы ничего не загружал, а просто мигало то окошко, которое уже открыто... Спасибо
Это сложно даже для ссылок, открываемых во вкладках, не говоря уже о вообще всех ссылках.
Вот есть вариант, хотя работает не во всех случаях (например, не обрабатывает закладки).
if (this. cbController. registered) this. cbController. unregister (); else this. cbController. register ();
var Cc = Components. classes; var Ci = Components. interfaces; var btn = this; this. cbController = { registered: false, oldAddTabMethod: null, isURLOpenedTopic: "3900c2e9-6032-4338-95eb-7ba8fd1f8a33:isURLOpened?", focusWindowIfURLIsOpenedTopic: "3900c2e9-6032-4338-95eb-7ba8fd1f8a33:focusWindowIfURLIsOpened", notificationSender: false, get os () { return Cc ["@mozilla.org/observer-service;1"]. getService (Ci. nsIObserverService); }, register: function () { this. oldAddTabMethod = gBrowser. addTab; gBrowser. addTab = (function (context) { return function addTab (aURI, aReferrerURI, aCharset, aPostData, aOwner, aAllowThirdPartyFixup) { return context. addTab. apply (context, arguments); }; }) (this); this. os. addObserver (this, this. isURLOpenedTopic, false); this. os. addObserver (this, this. focusWindowIfURLIsOpenedTopic, false); this. registered = true; btn. checked = true; }, unregister: function () { gBrowser. addTab = this. oldAddTabMethod; this. oldAddTabMethod = null; this. os. removeObserver (this, this. focusWindowIfURLIsOpenedTopic); this. os. removeObserver (this, this. isURLOpenedTopic); this. registered = false; btn. checked = false; }, getTabIndex: function (url) { var res = -1; var num = gBrowser. browsers. length; var br; for (var i = 0; i < num; i++) { br = gBrowser. getBrowserAtIndex (i); if (br. currentURI. spec == url) { res = i; break; } } return res; }, observe: function (subject, topic, data) { if (this. notificationSender) return; if (!(subject instanceof Ci. nsISupportsPRBool)) return; if (this. getTabIndex (data) != -1) { subject. data = true; window. getAttention (); if (topic == this. focusWindowIfURLIsOpenedTopic) window. focus (); } }, addTab: function addTab (aURI, aReferrerURI, aCharset, aPostData, aOwner, aAllowThirdPartyFixup) { if (aURI == "about:blank") return this. oldAddTabMethod. apply (gBrowser, arguments); var topic = this. isURLOpenedTopic; var index = this. getTabIndex (aURI); if (index == -1) topic = this. focusWindowIfURLIsOpenedTopic; var isURLOpened = Cc ["@mozilla.org/supports-PRBool;1"]. createInstance (Ci. nsISupportsPRBool); isURLOpened. data = false; this. notificationSender = true; this. os. notifyObservers (isURLOpened, topic, aURI); this. notificationSender = false; if (index != -1) return gBrowser. selectedTab = gBrowser. tabContainer. childNodes [index]; else if (!isURLOpened. data) return this. oldAddTabMethod. apply (gBrowser, arguments); else return gBrowser. selectedTab; } }; this. onDestroy = function () { this. cbController. unregister (); }; setTimeout ( function () { btn. cbController. register (); }, 1000 );
Добавлено 24-10-2010 16:12:10
CoolCmd
Чем конкретно отличается обычная toolbar button от кнопки с типом menu? Я пробовал оба варианта и отличий не увидел.
Кнопка с типом menu может иметь меню, раскрывающееся при нажатии на кнопку. Например:
var menu = <menupopup xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:cb="http://xsms.nm.ru/custombuttons/" onclick="this. parentNode. handleClick (event);"> <menuitem label="Engadget" class="menuitem-iconic" image="http://www.blogsmithmedia.com/www.engadget.com/media/favicon.ico" cb:url="http://www.engadget.com/"/> <menuitem label="ScienceDaily" class="menuitem-iconic" image="http://www.sciencedaily.com/favicon.ico" cb:url="http://www.sciencedaily.com/"/> <menuitem label="New Scientist" class="menuitem-iconic" image="http://www.newscientist.com/favicon.ico" cb:url="http://www.newscientist.com/"/> <menuitem label="Popular Mechanics" class="menuitem-iconic" image="http://www.popularmechanics.com/favicon.ico" cb:url="http://www.popularmechanics.com/"/> <menuitem label="Popular Science" class="menuitem-iconic" image="http://www.popsci.com/favicon.ico" cb:url="http://www.popsci.com/"/> <menuitem label="Physics.org" class="menuitem-iconic" image="http://www.physorg.com/favicon.ico" cb:url="http://www.physorg.com/"/> </menupopup>; this. appendChild (custombuttonsUtils. makeXML (menu)); this. type = "menu"; this. orient = "horizontal"; this. handleClick = function (event) { var menuitem = event. target; var url = menuitem. getAttributeNS ("http://xsms.nm.ru/custombuttons/", "url"); if (event. button == 0) { let newTab = gBrowser.addTab(url) gBrowser.selectedTab = newTab;// loads into a new tab; } else if (event. button == 1) gBrowser. addTab (url); this. open = false; };
Есть дока на русском по java script, описывающая азы?
Можно посмотреть на http://javascript.ru
И еще. В первом сообщении по ссылке грузится старье, да еще какой-то КВИП в придачу. А после установки Custom Buttons 2 не смог загрузить ни одной кнопки. Видимо не судьба.
https://addons.mozilla.org/en-US/firefox/addon/2707/
http://custombuttons.mozdev.org/
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
вообщем чтобы можно было добавлять кнопки (и желательно другие элементы интерфейса) в выпадающее меню или на возникающую панель
Вот так, что ли:
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%7Eabc%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bhttp%3A//i116.photobucket.com/albums/o26/squiresmurf/Firefox/ATOM1.png%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20menu%20%3D%20%3Cpanel%20xmlns%3D%22http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%22%0A%09%09%20%20%20%20%20%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%0A%09%09%20%20%20%20%20%20onclick%3D%22this.%20parentNode.%20handleClick%20%28event%29%3B%22%3E%0A%09%09%3Chbox%3E%0A%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.blogsmithmedia.com/www.engadget.com/media/favicon.ico%22%0A%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.engadget.com/%22/%3E%0A%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.sciencedaily.com/favicon.ico%22%0A%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.sciencedaily.com/%22/%3E%0A%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.newscientist.com/favicon.ico%22%0A%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.newscientist.com/%22/%3E%0A%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.popularmechanics.com/favicon.ico%22%0A%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.popularmechanics.com/%22/%3E%0A%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.popsci.com/favicon.ico%22%0A%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.popsci.com/%22/%3E%0A%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.physorg.com/favicon.ico%22%0A%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.physorg.com/%22/%3E%0A%09%09%3C/hbox%3E%0A%3C/panel%3E%3B%0Athis.%20appendChild%20%28custombuttonsUtils.%20makeXML%20%28menu%29%29%3B%0Athis.%20type%20%3D%20%22menu%22%3B%0Athis.%20orient%20%3D%20%22horizontal%22%3B%0A%20%0Athis.%20handleClick%20%3D%20function%20%28event%29%0A%7B%0A%09var%20menuitem%20%3D%20event.%20target%3B%0A%09var%20url%20%3D%20menuitem.%20getAttributeNS%20%28%22http%3A//xsms.nm.ru/custombuttons/%22%2C%20%22url%22%29%3B%0A%09if%20%28event.%20button%20%3D%3D%200%29%0A%09%09loadURI%20%28url%29%3B%0A%09else%20if%20%28event.%20button%20%3D%3D%201%29%0A%09%09gBrowser.%20addTab%20%28url%29%3B%0A%09this.%20open%20%3D%20false%3B%0A%7D%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B//alert%20%28custombuttonsUtils.%20makeXML%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%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%7Eabc%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bhttp%3A//i116.photobucket.com/albums/o26/squiresmurf/Firefox/ATOM1.png%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20menu%20%3D%20%3Cpanel%20xmlns%3D%22http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%22%0A%09%09%20%20%20%20%20%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%0A%09%09%20%20%20%20%20%20onclick%3D%22this.%20parentNode.%20handleClick%20%28event%29%3B%22%3E%0A%09%3Cgrid%3E%0A%09%09%3Ccolumns%3E%0A%09%09%09%3Ccolumn/%3E%0A%09%09%09%3Ccolumn/%3E%0A%09%09%3C/columns%3E%0A%09%09%3Crows%3E%0A%09%09%09%3Crow%3E%0A%09%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.blogsmithmedia.com/www.engadget.com/media/favicon.ico%22%0A%09%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.engadget.com/%22/%3E%0A%09%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.sciencedaily.com/favicon.ico%22%0A%09%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.sciencedaily.com/%22/%3E%0A%09%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.newscientist.com/favicon.ico%22%0A%09%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.newscientist.com/%22/%3E%0A%09%09%09%3C/row%3E%0A%09%09%09%3Crow%3E%0A%09%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.popularmechanics.com/favicon.ico%22%0A%09%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.popularmechanics.com/%22/%3E%0A%09%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.popsci.com/favicon.ico%22%0A%09%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.popsci.com/%22/%3E%0A%09%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.physorg.com/favicon.ico%22%0A%09%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.physorg.com/%22/%3E%0A%09%09%09%3C/row%3E%0A%09%09%3C/rows%3E%0A%09%3C/grid%3E%0A%3C/panel%3E%3B%0Athis.%20appendChild%20%28custombuttonsUtils.%20makeXML%20%28menu%29%29%3B%0Athis.%20type%20%3D%20%22menu%22%3B%0Athis.%20orient%20%3D%20%22horizontal%22%3B%0A%20%0Athis.%20handleClick%20%3D%20function%20%28event%29%0A%7B%0A%09var%20menuitem%20%3D%20event.%20target%3B%0A%09var%20url%20%3D%20menuitem.%20getAttributeNS%20%28%22http%3A//xsms.nm.ru/custombuttons/%22%2C%20%22url%22%29%3B%0A%09if%20%28event.%20button%20%3D%3D%200%29%0A%09%09loadURI%20%28url%29%3B%0A%09else%20if%20%28event.%20button%20%3D%3D%201%29%0A%09%09gBrowser.%20addTab%20%28url%29%3B%0A%09this.%20open%20%3D%20false%3B%0A%7D%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B//alert%20%28custombuttonsUtils.%20makeXML%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%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
?
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton ага , именно так .... но ещё вариант чтобы можно было custombuttons - кнопки туда впихивать .... наводишь курсор - появляется панелька с кнопками , адресная или поисковая строка .....
Отсутствует
Кнопка с типом menu может иметь меню, раскрывающееся при нажатии на кнопку. Например:
Спасибо!
Можно посмотреть на http://javascript.ru
Да, уже нашел там книгу Флэнагана, грят это лучшее что есть.
https://addons.mozilla.org/en-US/firefox/addon/2707/
http://custombuttons.mozdev.org/
Я неправильно выразился. Нужно модератору ссылку в первом посте убрать или изменить, что бы люди время зря не теряли.
леса живет в лису?
Отсутствует
Крошка Ру]bunda1 работает почти идеально... а можно сделать полоску невидимой ...
в Stylish
#sidebar-splitter
{-moz-appearance: none !important;
display:none!important;}
или в /*Initialization Code*/ кнопки
//Hide sidebar-splitter var cssStr = <![CDATA[ #sidebar-splitter {-moz-appearance: none !important; display:none!important;} ]]> .toString() .replace(/%button%/g, "#" + this.id); var cssURI = this._cssURI = makeURI( // chrome://global/content/contentAreaUtils.js "data:text/css," + encodeURIComponent(cssStr) ); this.setSheet = function(cssURI, addFlag) { var sss = Components.classes["@mozilla.org/content/style-sheet-service;1"] .getService(Components.interfaces.nsIStyleSheetService); if(sss.sheetRegistered(cssURI, sss.AGENT_SHEET) && !addFlag) sss.unregisterSheet(cssURI, sss.AGENT_SHEET); if(addFlag) sss.loadAndRegisterSheet(cssURI, sss.AGENT_SHEET); } this.setSheet(cssURI, true); this.onDestroy = function() { this.setSheet(this._cssURI, true); };
Отредактировано bunda1 (24-10-2010 22:16:38)
Отсутствует
Крошка Ру Может подойдет popup-toolbar
1.Создать панель "__customToolbar_"
2.Разместить на созданной панели кнопки
3.Скрыть панель, установить popup-toolbar
При нажатии на кнопку popup-toolbar или при наведении курсора на неё (зависит от настройки) будет появляться всплывающая панель с кнопками
размещёнными на скрытой панели. Когда я ею пользовался - у меня работало нормально -
на FF3.6.4pre - 3.6.6pre
Ко всем - кто знает: что нужно добавить в код, который привёл bunda1 в сообщении №2429 чтобы при нажатии кнопка отключалась до следующего нажатия , а следущее нажатие включало действие указанной кнопки
Отредактировано imyax (25-10-2010 11:55:18)
Отсутствует
что нужно добавить в код, который привёл bunda1 в сообщении №2429 чтобы при нажатии кнопка отключалась до следующего нажатия , а следущее нажатие включало действие указанной кнопки
this. checked = !this. checked; if (this. checked) {this. image = "data:image/x-icon;base64,AAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMBAAQIAAcEBwAIBAcACAQHAAgEBwAIBAcACAQHAAgEBwAIBAcACAMEAQEAAAAAAAAAAAAAAAACAwADAAAAABUnAB9cqgC3a7wB4Gq5Ad1qugHearoB3mq6Ad5qugHearoB3mi4AN1qugHgYrMAxR43AC8AAAAAAAEAAAECAAQAAAQAV6AAprP9Vv/W/qn80/+f/9T/ov/U/6L/1P+i/9T/ov/U/6L/1/+n/9X+pfy3/WL/Y7QAvwEAAQAAAAAAFSgAH1ehAKlyzwD1htgf/YzcJ/2K2yP9i9sk/YvbJf2L2yX9i9sm/YnaIv2b4kP92/21/Nf+qv9quwHdBQkACAAAAQBeqwCzr/tR/8X0j/u+8X//vvJ//77ygP++8oD/vvKA/77yf/+98n7/wvSH/4zcKv+e4kv93v+0/2i5AN0DBwAIBQkACGu8AdzV/af/4v/B/d//u//h/7//4f+//+H/v//h/7//4f+//9/+u//n/8n/w/GK/4zaK/3g/7r/aroC3gMHAAgEBwAIarkC3dX/pf/g/sD93v67/9/+vv/g/r//4P6//+D+v//f/r7/3f66/+T/xv/B8Yb/j9st/eT/w/9qugPeAwcACAQHAAhqugLe2v+w/+j/z/3l/8r/5//N/+f/zv/n/87/5//O/+f/zf/l/sj/7P/W/8Xyj/+Q2y/96f/N/2q6A94DBwAIBAcACGq6At7f/7n/7v/c/ev/1v/t/9n/7f/a/+3/2v/t/9r/7f/Z/+r+1f/y/+P/yPKW/5DbMf3s/9X/aroE3gMHAAgEBwAIaroC3uP/wf/z/+j98P/h//L/5P/z/+X/8//l//P/5f/y/+T/8P7g//j/7v/L8p3/kdsy/fD/3P9rugTeAwcACAQHAAhqugLe5v/J//j/8v31/+r/9v/t//f/7v/3/+//9//u//b/7f/0/un//f/4/87yo/+R2zL98f/f/2q5Bd0DBwAIBAcACGq6At7p/8///P/6/fj/8f/6//T/+v/1//r/9f/6//X/+v/0//f+8P//////0fGo/5PbNf30/+f/a7wE3AQJAAgEBwAIabkC3er/0f/+//79+v/0//v/9//8//j//P/4//z/+P/7//f/+f70///////T8qz/i9go+8P9ef9dqwCzAAACAAUJAAhquwHd7f7a//////z+//39/////f////3////9/////f////39/vz9/////dzzvv5v0AD1VqECqRUnAB8AAAAAAQACAGK0AL/J/Yf/8v7k/O3/1//u/9n/7v/Z/+7/2f/u/9n/7v/Z/+3/1//x/eP8vfxu/1WgAKYAAAUAAQIABAABAAAAAAAAHjcALmGzAMVquwLgarkC3Wq6At5qugLearoC3mq6At5qugLearkC3Wu8AeBbqgC3FScAHwAAAAACAwADAAAAAAAAAAAAAAAAAwQCAQQIAAgEBwAIBAcACAQHAAgEBwAIBAcACAQHAAgEBwAIBAgABwMDAgAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; var cssStr = <![CDATA[ #sidebar-splitter {-moz-appearance: none !important; display:none!important;} ]]> .toString() .replace(/%button%/g, "#" + this.id); var cssURI = this._cssURI = makeURI( // chrome://global/content/contentAreaUtils.js "data:text/css," + encodeURIComponent(cssStr) ); this.setSheet = function(cssURI, addFlag) { var sss = Components.classes["@mozilla.org/content/style-sheet-service;1"] .getService(Components.interfaces.nsIStyleSheetService); if(sss.sheetRegistered(cssURI, sss.AGENT_SHEET) && !addFlag) sss.unregisterSheet(cssURI, sss.AGENT_SHEET); if(addFlag) sss.loadAndRegisterSheet(cssURI, sss.AGENT_SHEET); } this.setSheet(cssURI, true); this.onDestroy = function() { this.setSheet(this._cssURI, true);};} else {this. image = "data:image/x-icon;base64,AAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgEDAAQACAcEAAcIBAAHCAQABwgEAAcIBAAHCAQABwgEAAcIBAAHCAMBBAEAAAAAAAAAAAAAAAACAAMDAAAAABUAJx9cAKq3awG84GoBud1qAbreagG63moBut5qAbreagG63mgAuN1qAbrgYgCzxR4ANy8AAAAAAAABAAEAAgQABAAAVwCgprNW/f/Wqf7805///9Si///Uov//1KL//9Si///Uov//16f//9Wl/vy3Yv3/YwC0vwEBAAAAAAAAFQAoH1cAoalyAM/1hh/Y/Ywn3P2KI9v9iyTb/Ysl2/2LJdv9iybb/Yki2v2bQ+L927X9/Neq/v9qAbvdBQAJCAABAABeAKuzr1H7/8WP9Pu+f/H/vn/y/76A8v++gPL/voDy/75/8v+9fvL/wof0/4wq3P+eS+L93rT//2gAud0DAAcIBQAJCGsBvNzVp/3/4sH//d+7///hv///4b///+G////hv///4b///9+7/v/nyf//w4rx/4wr2v3guv//agK63gMABwgEAAcIagK53dWl///gwP793rv+/9++/v/gv/7/4L/+/+C//v/fvv7/3br+/+TG///BhvH/jy3b/eTD//9qA7reAwAHCAQABwhqArre2rD//+jP//3lyv//583//+fO///nzv//587//+fN///lyP7/7Nb//8WP8v+QL9v96c3//2oDut4DAAcIBAAHCGoCut7fuf//7tz//evW///t2f//7dr//+3a///t2v//7dn//+rV/v/y4///yJby/5Ax2/3s1f//agS63gMABwgEAAcIagK63uPB///z6P/98OH///Lk///z5f//8+X///Pl///y5P//8OD+//ju///LnfL/kTLb/fDc//9rBLreAwAHCAQABwhqArre5sn///jy//316v//9u3///fu///37///9+7///bt///06f7//fj//86j8v+RMtv98d///2oFud0DAAcIBAAHCGoCut7pz////Pr//fjx///69P//+vX///r1///69f//+vT///fw/v//////0ajx/5M12/305///awS83AQACQgEAAcIaQK53erR///+/v/9+vT///v3///8+P///Pj///z4///79///+fT+///////TrPL/iyjY+8N5/f9dAKuzAAIAAAUACQhqAbvd7dr+//////z+/f/9/////f////3////9/////f////39/P79/////dy+8/5vAND1VgKhqRUAJx8AAAAAAQIAAGIAtL/Jh/3/8uT+/O3X///u2f//7tn//+7Z///u2f//7tn//+3X///x4/38vW78/1UAoKYABQAAAQACBAAAAQAAAAAAHgA3LmEAs8VqArvgagK53WoCut5qArreagK63moCut5qArreagK53WsBvOBbAKq3FQAnHwAAAAACAAMDAAAAAAAAAAAAAAAAAwIEAQQACAgEAAcIBAAHCAQABwgEAAcIBAAHCAQABwgEAAcIBAAIBwMCAwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; this.setSheet(this._cssURI, false);}
Отсутствует