>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Добавить в меню контекстное меню http://forum.mozilla-russia.org/viewtopic.php?id=44758 |
KML > 06-06-2010 17:25:43 |
Есть следующая функциональность:
У кнопки есть выпадающее меню (левый клик) Задача в том, чтобы при правом клике в выпадающем меню показывалось ещё одно контекстное меню. Если ничего не менять - показывается контекстное меню кнопки, если пробовать прикрутить другое контекстное меню через 'context', 'contextmenu' контекстное меню не появляется вообще (ни новое ни старое). Пока вижу решение динамически наполнять старое контекстное меню в зависимости от того на кнопке его вызвали или на элементе меню, но хотелось бы менее геморойный способ использовать. |
KML > 06-06-2010 19:26:17 |
Пример такого расширения? |
KML > 06-06-2010 21:55:49 |
э... вы хотябы читали мой первый пост? Проблема в прикручивании контекстного меню к другому меню. Мне не нужно вставлять пункт в какое-то существующее меню. Так что и Video download helper и Inspect context мимо кассы. |
Anton > 06-06-2010 22:12:42 |
KML пишет
Выделить код Код:<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <popupset id="ps01"> <menupopup id="cm01"> <menuitem label="cm01_1"/> <menuitem label="cm01_2"/> <menuitem label="cm01_3"/> </menupopup> <menupopup id="cm02"> <menuitem label="cm02_1"/> <menuitem label="cm02_2"/> <menuitem label="cm02_3"/> </menupopup> </popupset> <toolbar> <toolbarbutton label="a" type="menu" contextmenu="cm01"> <menupopup contextmenu="cm02"> <menuitem label="1"/> <menuitem label="2"/> <menuitem label="3"/> </menupopup> </toolbarbutton> </toolbar> </window> ps. Проверял в xulexplorer и extension developer XUL Editor |
KML > 06-06-2010 22:33:22 |
Я уже пробовал данный подход, но вот с этим не работает почему-то : Выделить код Код:<toolbarpalette id="BrowserToolbarPalette"> <toolbaritem class="toolbaritem-1 chromeclass-toolbar-additional" id="my-toolbaritem" align="center" pack="end" flex="0" context="_child" > <toolbarbutton id="my-button" class="toolbarbutton-1 chromeclass-toolbar-additional" flex="0" label="&buttonLabel;" hidden="false" disabled="true" tooltiptext="&name;" oncommand="myOverlay.myButtonClick();" type="menu-button"> <menupopup id="dropdown-menu" onpopupshowing="myOverlay.buildDropDownMenu();" onpopuphiding="return myOverlay.onpopuphiding(event);"/> </toolbarbutton> <menupopup id="btn-right-click"> <menuitem id="my-goto-options" label="&button.context.menu.options;" oncommand="myOverlay.openOptions();"/> <menuitem id="my-goto-homepage" label="&button.context.menu.homepage;" oncommand="myOverlay.openUrl(myPrefs.getCharPref('home.page'))"/> <menuitem id="my-menu-about" label="&button.context.menu.about;" oncommand="myOverlay.openAbout();"/> </menupopup> </toolbaritem> </toolbarpalette> 06-06-2010 22:46:16
|
KML > 16-06-2010 16:08:46 |
Как заставить контекстное меню открыться автоматически? Выделить код Код:var mEvent = document.createEvent("MouseEvents"); mEvent.initMouseEvent("click", true, true, window, 0, evt.screenX, evt.screenY, evt.clientX, evt.clientY, false, false, false, false, 2, null); evt.target.dispatchEvent(mEvent); В итоге событе onclick срабатывает, но меню не появляется. Приходится использовать openPopup. |