如何在pageWorker中为Firefox附加SDK加载多个URL?

时间:2015-04-20 13:16:42

标签: javascript firefox-addon firefox-addon-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"
});

我想获得多个网站网址的第一段。

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

有没有办法加载多个URL以获取数组中的多个结果?

我尝试了以下方式,但它进入无限循环并且不起作用。

//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];
    }

});

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

最后,我结束了这样的代码。它运作良好。

{{1}}

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