我正在尝试创建一个插件,在用户登录到我的网站后,我将尝试读取该域的会话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
,变量未定义。
答案 0 :(得分:0)
内容脚本上下文与插件脚本上下文完全断开连接。当你使用contentScript
时,要掌握这个并不容易,但是如果你把它放在另一个文件中并通过contentScriptFile
使用它就会变得更加明显。内容脚本在文档的上下文中运行,而插件脚本则不是。