使用mozilla firefox sdk时,如何在工作脚本中访问Request?

时间:2013-10-13 23:50:20

标签: javascript firefox-addon-sdk

我希望能够从我的插件发送请求(带有页面的cookie)

var widgets = require("sdk/widget");
var tabs = require("sdk/tabs");
var self = require("sdk/self");
var Request = require("sdk/request").Request;
var widget = widgets.Widget({
id: "mozilla-link",
label: "Mozilla website",
contentURL: "http://www.favicon.cc/logo3d/33101.png",
onClick: function () {
    var worker = tabs.activeTab.attach({
        contentScriptFile: self.data.url('scanner.js')

    });

    worker.port.emit('scanner');
 }
});

和工人脚本

self.port.on("scanner", function () {
var http = Request({ url:'..', onComplete: function(Response) {}}).get();
 });

但我被告知请求未定义...即使我尝试在工作脚本中定义它。

ReferenceError: Request is not defined

1 个答案:

答案 0 :(得分:1)

页面工作者就像任何其他网页一样,所以在工作者中你会使用xmlhttprequest。如果你想使用请求,你必须在你的插件的main.js文件中这样做。如果要进行跨域请求,则需要在package.json文件中设置permissions属性:

https://github.com/mozilla/addon-sdk/blob/master/doc/dev-guide-source/guides/content-scripts/cross-domain.md