>Форум 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=17709 |
lpn_com > 25-06-2007 18:48:33 |
В оверлее добавляю свой пункт к меню Выделить код Код:<popup id="contentAreaContextMenu"> <menuitem id="MyID" insertafter="context-copylink" label="MyLabel" oncommand="MyFunc();"/> </popup> меню добавляется, но его ВСЕГДА видно, а мне нужно ТОЛЬКО когда на ЛИНК пользователь нажал. |
Anton > 25-06-2007 19:20:24 |
Пункту меню надо добавить атрибут hidden, надо поставить обработчик onpopupshowing на contentAreaContextMenu, в котором изменять соответственно атрибут hidden, скорее всего, проверяя глобальную переменную gContextMenu, свойство onLink. Какие там поля можно посмотреть в browser.js. |
Infocatcher > 25-06-2007 20:21:13 |
Насчет глобальных переменных не в курсе, но ведь можно же просто «синхронизировать» hidden добавляемого пункта с каким-нибудь стандартным (Сохранить ссылку как / Отправить ссылку ...). |
lpn_com > 25-06-2007 20:56:06 |
Не получаеться почемуто Выделить код Код:<popup id="contentAreaContextMenu"> <menuitem id="MyID" hidden="true" insertafter="context-copylink" label="MyLabel" oncommand="MyFunc();"/> </popup> js файл, но показаться не хочет, хотябы безусловно Выделить код Код:document.getElementById("contentAreaContextMenu").addEventListener("onpopupshowing", todowhenpopup, true); function todowhenpopup(event) { document.getElementById("MyID").hidden = false; //document.getElementById("MyID").hidden = document.getElementById('context-copylink').hidden; } function MyFunc(){... вместо onpopupshowing пробывал onpopupshown и popupshowing результат тот же, точнее никакого - не появляется пунктик Добавлено Пнд 25 Июн 2007 21:11:13 : Выделить код Код:window.addEventListener("load", initOverlay, false); function initOverlay() { var menu = document.getElementById("contentAreaContextMenu"); menu.addEventListener("popupshowing", contextPopupShowing, false); } function contextPopupShowing() { document.getElementById("MyID").hidden = !gContextMenu.onLink; } |
Snipe > 24-09-2009 14:06:27 |
А как узнать куда пользователь правой кнопкой нажал? UPD document.popupNode |