使用 Mozilla Firefox sdk 时,如何在 worker 脚本中访问 request

When using the mozilla firefox sdk, how do you access Request in a worker script?

本文关键字:worker 脚本 request 访问 Firefox Mozilla sdk 使用      更新时间:2023-09-26

我希望能够从我的插件发送请求(使用页面的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

页面工作线程就像任何其他网页一样,因此在工作线程中,您将使用XMLhttpRequest。 如果你想使用请求,你必须在插件的主.js文件中这样做。如果要发出跨域请求,则需要在 package.json 文件中设置 permissions 属性:

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