1

我正在尝试创建一个插件,在用户登录到我的网站后,我将尝试读取该域的会话 ID,并将其用于与我的插件的进一步交互。我使用在线插件生成器,我有这段代码,我想读取 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变量未定义。

4

1 回答 1

0

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

于 2011-12-10T13:56:35.003 回答