Firefox contentscript中无法识别变量

Firefox contentscript中无法识别变量,firefox,firefox-addon,firefox-addon-sdk,content-script,Firefox,Firefox Addon,Firefox Addon Sdk,Content Script,我正在尝试创建一个加载项,在用户登录到我的站点后,我将尝试读取该域的会话id,并使用它与我的加载项进行进一步的交互。我使用,我有以下代码,我想阅读cookies: var数据=需要(“自身”)数据; var{Cc,Ci}=require(“chrome”); var cookieMgr=Cc[“@mozilla.org/cookiemanager;1”].getService(Ci.nsicokiemanager); var cm=要求(“上下文菜单”); cm.项目({ 标签:“我的菜单项”,

我正在尝试创建一个加载项,在用户登录到我的站点后,我将尝试读取该域的会话id,并使用它与我的加载项进行进一步的交互。我使用,我有以下代码,我想阅读cookies:

var数据=需要(“自身”)数据;
var{Cc,Ci}=require(“chrome”);
var cookieMgr=Cc[“@mozilla.org/cookiemanager;1”].getService(Ci.nsicokiemanager);
var cm=要求(“上下文菜单”);
cm.项目({
标签:“我的菜单项”,
contentScript:'self.on(“单击”,函数(节点,数据){'+
'for(var e=cookieMgr.enumerator;e.hasMoreElements();){'+
'var cookie=e.getNext().QueryInterface(Ci.nsICookie);'+
'console.log(cookie.host+“;”+cookie.name+“=”+cookie.value+“\\n”);'+
'}});'
});

但是,每当我单击“我的菜单项”按钮时,它就会抛出一个错误,说
cookieMgr
,变量未定义。

内容脚本上下文与加载项脚本上下文完全断开连接。当您使用
contentScript
时,很难理解这一点,但是如果您将它放在另一个文件中,并通过
contentScriptFile
使用它,它会变得更加明显。内容脚本是在文档的上下文中运行的,而加载项脚本不是