Страницы: 1
Нужно добавить элемент в контекстное меню... И как сделать проверку - чтоб этот элемент там был только на определенном сайте... или хотя бы чтоб он был активен на нём, а на остальных сайтах, чтоб этот элемент был серенький?
Заранее спасибо
Отсутствует
Сделать оверлей на <popup id="contentAreaContextMenu">, туда добавить нужный пункт <menuitem hidden="true"...>, по загрузке оверлея добавить на contentAreaContextMenu обработчик события popupshowing, который и будет решать, надо отображать пункт или нет.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
ок, спасибо, понял.
А обработчик событий вешать так: ?
window. addEventListener ("popupshowing", todowhenpopup, true); function todowhenpopup(event) { // if () {} - показывать/не показывать элемент. }
А как кстати, изменить свойство hidden? document.getElementById("test").hidden=true?
Отсутствует
...обработчик событий вешать так: ?
нет.
...изменить свойство hidden? document.getElementById("test").hidden=true?
да. чтобы показать пункт - .hidden=false
И ещё, советую посмотреть реализацию nsContextMenu в chrome://browser/content/browser.js - может помочь при проверке условия.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
а вот что-то не получается.
в xul-file:
<popup id="contentAreaContextMenu"> <menuseparator /> <menuitem id="myTest" label="Test " oncommand="test1();" /> <menuseparator /> </popup>
Показывает его, всё ок.
Но:
Далее (в js файле):
document.getElementById("contentAreaContextMenu").addEventListener("onpopupshown",todowhenpopup,true); function todowhenpopup(event){ if (window._content.document.location.href.indexOf("test.com")==-1) { } else { txt = grabSelect(); } }
функцию выполняет, так как переменная txt заполняется выделением, но элемента моего в popup-e нету
Отредактировано Masletso (24-10-2006 18:00:40)
Отсутствует
document.getElementById("contentAreaContextMenu").addEventListener("onpopupshown",todowhenpopup,true);
разве ? вместо onpopupshown afaik должно быть popupshown. ну и можно переиграть 1 и 3 аргументы addEventListener - popupshown/popupshowing; true/false
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
сорри, там вообще-то popupshown, да. Это я когда вставлял, вставлял из другой пробы и забыл убрать on (там я хотел прописать это прямо в xul файле как атриббут попапу)
Добавлено Втр 24 Окт 2006 19:07:03 :
кстати так работает:
<popup id="contentAreaContextMenu" onpopupshown="todowhenpopup(event)">
Отсутствует
Страницы: 1