이것은 내 코드의 요약본입니다. firefox의 오른쪽 클릭 컨텍스트 메뉴에 메뉴 항목을 표시하려고했습니다.gContextMenu가 null 인 이유는 무엇입니까?
여기 gContextMenu은 null로 표시되며 Firefox의 컨텍스트 메뉴를 망가 뜨립니다. 2 일간의 디버깅 후에 발견했습니다.
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<?xml-stylesheet href="chrome://foobar/skin/foobar.css" type="text/css"?>
<!DOCTYPE window SYSTEM "chrome://foobar/locale/foobar.dtd">
<overlay id="foobar-browser-overlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<stringbundleset id="stringbundleset">
<stringbundle id="foobar-string-bundle" src="chrome://foobar/locale/foobar.properties"/>
</stringbundleset>
<popup id="contentAreaContextMenu" onpopupshowing="alert(gContextMenu)">
<menuseparator />
<menuitem id="foobar-show-meaning" label="&foobar.showmeaning.label;" />
</popup>
</overlay>
참고 :
나는 텍스트를 선택한 경우에만 표시 파이어 폭스의 컨텍스트 메뉴에는 menuItem을 추가 http://kb.mozillazine.org/Adding_items_to_menus를 참조하고있다. 그러나 디버깅 후 근본 원인은 gContextMenu가 null 인 것으로 판명됩니다.
내 파이어 폭스 버전은 나는 그것이 나중에 추가 할 계획 미세한 컨트롤을 잃은 때문에 새로운 부가-SDK를 사용하지 않으 19.0.2
입니다. https://developer.mozilla.org/en-US/docs/XUL/School_tutorial,
https://developer.mozilla.org/en-US/docs/XUL/PopupGuide/Extensions : 저는 초보자입니다지금의 같은 XUL 개발에 올 때
- 내 참조 .. - (창 크기, 자사의 X, Y 좌표를 제어 같은 미세한 컨트롤) 팝업 요소가 오래 전에 사용되지 않습니다
https://developer.mozilla.org/en-US/docs/XUL/PopupGuide/ContextMenus#Hiding_and_Showing_Menu_Items_based_on_Context
이것은 작동하지 않습니다! 그것은 여전히 경고로 null을 보여줍니다! X ( 이것은 \t '\t .. 내 새로운 코드는 \t \t \t \t <메뉴 항목 ID = "는 foobar-쇼 의미 "label ="& foobar.showmeaning.label; "/> \t –
user1422163
답변을 업데이트했습니다. – paa