这是我的代码的精简版。我试图在 Firefox 的右键单击上下文菜单中显示一个菜单项。
这里gContextMenu显示为空,它搞砸了 Firefox 的上下文菜单。经过两天的调试,我发现了这一点。
<?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>
注意:
我指的是http://kb.mozillazine.org/Adding_items_to_menus将 menuItem 添加到 firefox 的上下文菜单中,仅在选择文本时显示。但是经过调试发现根本原因是gContextMenu为null。
我的 Firefox 版本是19.0.2
我不想使用新的 addon-sdk,因为它缺少我计划稍后添加的更精细的控件。(更精细的控件,例如 - 控制窗口大小、其 x、y 坐标)
到目前为止,我是 XUL 开发的新手。
- 我的参考资料:https ://developer.mozilla.org/en-US/docs/XUL/School_tutorial,https :
//developer.mozilla.org/en-US/docs/XUL/PopupGuide/Extensions,https
://developer .mozilla.org/en-US/docs/XUL/PopupGuide/ContextMenus#Hiding_and_Showing_Menu_Items_based_on_Context