用插件读取cookie

3 firefox firefox-addon firefox-addon-sdk

我正在尝试创建一个插件,在用户登录到我的网站后,我将尝试读取该域的会话ID并将其用于与我的插件的进一步交互.我使用在线firefox插件构建器,我尝试了这个例子cookies mdn.通过使用此代码,它返回我,我没有权利阅读XPCComponents.classes:

Fehler: An exception occurred.
Traceback (most recent call last):
  File "C:\Users\tasos\AppData\Roaming\Mozilla\Firefox\Profiles\812iobvo.default\flightdeck\resources\jid0-d0ba10rpeed0a0ftwmx80raes0q-at-jetpack-tasosthegreat-2-data\process.js", line 4, in 
Error: <https://builder.addons.mozilla.org> wurde die Erlaubnis für das Lesen der Eigenschaft XPCComponents.classes verweigert.
Run Code Online (Sandbox Code Playgroud)

它是与在线插件构建器一起使用的正确代码吗?

到目前为止,这是我的整个代码:

main.js:

var data = require("self").data;

var cm = require("context-menu"); 
cm.Item({   
     label: "My Menu Item",
     contentScriptFile: data.url('process.js') 
       });
Run Code Online (Sandbox Code Playgroud)

和process.js:

self.on("click", function (node, data) {


        var ios = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);  
    var uri = ios.newURI("http://www.google.com/", null, null);  
    var cookieSvc = Components.classes["@mozilla.org/cookieService;1"].getService(Components.interfaces.nsICookieService);  
    var cookie = cookieSvc.getCookieString(uri, null);  
});
Run Code Online (Sandbox Code Playgroud)

Wla*_*ant 5

使用SDK构建的加载项无法Components.classes直接访问.相反,他们需要使用chrome:

var {Cc, Ci} = require("chrome");
var cookieSvc = Cc["@mozilla.org/cookieService;1"].getService(Ci.nsICookieService);
Run Code Online (Sandbox Code Playgroud)

Cc代表Components.classes,Ci代表Components.interfaces.