我正在使用Addon SDK开发一个Firefox附加组件,我希望在除Google图像之外的所有网站上包含图像的上下文菜单条目,我将为其添加不同的上下文菜单条目。
var cm = require("sdk/context-menu");
cm.Item({
label: "LABEL",
context: [
cm.URLContext(["*.images.google.*"]),
cm.SelectorContext("img")
],
contentScript: googleContentScript ,
onMessage: ...
});
cm.Item({
label: "LABEL",
context: [
cm.URLContext(["*"]),
cm.SelectorContext("img")
],
contentScript: otherContentScript ,
onMessage: ...
});
对于第一个URLContext,我想要捕获所有谷歌图像,无论TLD(.com,.co.uk ......)。 对于第二个,我希望能够将URLContext应用于不在第一个中的所有URL。
显然这不是目前正在发生的事情。 任何帮助将不胜感激。
答案 0 :(得分:3)
对于否定模式,URLSelector
的{{3}}有些限制且难以处理。
你必须有合理的选择:
self.on("context", function() ...)
。返回false
将使菜单项不显示。一个名为" context"的特殊事件只要显示上下文菜单,就会在内容脚本中发出。如果为此事件注册侦听器函数并返回true,则菜单中将显示与侦听器内容脚本关联的菜单项。