我希望向 Firefox 上下文菜单中添加一个菜单项,该菜单项仅在用户右键单击特定 url 时才会显示。我有一个测试网址的功能。我曾经通过订阅“popupshowing”事件来做到这一点,并且:
var item = document.getElementById("custom-menu-id");
if (item) // show only for specific links
item.hidden = gContextMenu.onLink && acceptableURL(gContextMenu.linkURL);
我现在正在尝试使用附加 SDK,但我不再可以访问 gContextMenu。文档中的这个片段对我不起作用:
var cm = require("sdk/context-menu");
cm.Item({
label: "Copy name to clipboard",
context: cm.URLContext("http://scholar.google*"),
contentScript: 'self.on("context", function(node) {return true; });'
});
在这里,我认为应该可以获得类似 node.URL 的东西并对其进行测试,但它不起作用。也许有人可以建议如何从 sdk 访问 gContextMenu 或如何从节点或其他东西获取 URL。