内容内容中未识别的变量

时间:2011-12-10 13:53:58

标签: firefox firefox-addon firefox-addon-sdk content-script

我正在尝试创建一个插件,在用户登录到我的网站后,我将尝试读取该域的会话ID并将其用于与我的插件的进一步交互。我使用online addon builder,我有这个代码,我想读取cookie:

var data = require("self").data;
var {Cc, Ci} = require("chrome");
var cookieMgr = Cc["@mozilla.org/cookiemanager;1"].getService(Ci.nsICookieManager); 
var cm = require("context-menu");
cm.Item({
  label: "My Menu Item",
  contentScript: 'self.on("click", function (node, data) {' +
                 'for (var e = cookieMgr.enumerator; e.hasMoreElements();) {  ' +
                 'var cookie = e.getNext().QueryInterface(Ci.nsICookie);   ' +
                 ' console.log(cookie.host + ";" + cookie.name + "=" + cookie.value + "\\n");'+
                 '}});'
});

但每次点击“我的菜单项”按钮时都会抛出错误,说cookieMgr,变量未定义。

1 个答案:

答案 0 :(得分:0)

内容脚本上下文与插件脚本上下文完全断开连接。当你使用contentScript时,要掌握这个并不容易,但是如果你把它放在另一个文件中并通过contentScriptFile使用它就会变得更加明显。内容脚本在文档的上下文中运行,而插件脚本则不是。