如何在 pageWorker for Firefox add-on SDK 中加载多个 URL?

How to load multiple URLS in pageWorker for Firefox add-on SDK?

使用以下示例,我可以从 URL 即 ContentURL 中获取第一段。例如 - http://www.example.com

//main.js 
var getFirstParagraph = "var paras = document.getElementsByTagName('p');" +
                        "console.log(paras[0].textContent);" 

pageWorker = require("sdk/page-worker").Page({
  contentScript: getFirstParagraph,
  contentURL: "http://www.example.com"
});

我想获取多个站点的第一段 URLs。

var urls = ["http://www.example.com", "http://www.example1.com", "http://www.example2.com"]

有什么方法可以加载多个 URLS 以获得数组中的多个结果?

我试过如下方法,但它进入了无限循环并且不起作用。

//main.js

var getFirstParagraph = "var paras = document.getElementsByTagName('p');" +
                        "console.log(paras[0].textContent);" +
                        "self.port.emit('loaded');" 


pageWorker = require("sdk/page-worker").Page({
  contentScript: getFirstParagraph,
  contentURL: "http://www.example2.com"
});

pageWorker.port.on("loaded", function() {
var urls = ["http://www.example.com", "http://www.example1.com"];
    for(var i=0; i<urls.length; i++)
    {
  pageWorker.contentURL = urls[i];
    }

});

如有任何帮助,我们将不胜感激。

最后,我完成了这样的代码。效果不错。

var getFirstParagraph = "var paras = document.getElementsByTagName('p');" +
                        "console.log(paras[0].textContent);"

var urls = ["http://www.example.com", "http://www.example2.com"];
for(var i=0; i<urls.length; i++)
    {
pageWorker = require("sdk/page-worker").Page({
  contentScript: getFirstParagraph,
  contentURL : urls[i],
});
}

我没有找到比这更好的选择。希望这对某人有所帮助。