2

我想在 Chrome 扩展程序中检索和解析多个 html 页面。

对每个请求使用 Web Worker 似乎是一种让它们并行执行的简单方法。那可能吗?我的尝试失败了,可能是因为它是一个已知的权限错误

作为一种解决方法,我想我可以让主扩展页面执行多个异步 XmlHttpRequest,然后让回调将结果页面发送到 Web Worker 以进行并行解析。但是这种方法提出了一个问题,Chrome 一次可以发出多少个异步并行请求?这个问题已经在这里问过了,没有答案。

我正在编写的 Chrome 扩展程序是一个浏览器操作。

工人代码:


// Triggered by postMessage in the page
onmessage = function (evt) {
    var message = evt.data;
    postMessage(message.count + " started");
    update(message.count, message.url);
};

// parse the results page
function parseResponse(count, url, resp) {
    var msg = count.toString() + " received response ";
    postMessage(msg);
}

// read the Buganizer URL and parse the result page
var update = function(count, url) {
  var xhr = new XMLHttpRequest();
      xhr.onreadystatechange = function() {
        if (xhr.readyState == 4 && xhr.status == 200) {
          parseResponse(count, url, xhr.responseText);
        }
      }
  xhr.onerror = function(error) {
      var msg = "!>: " + count + ": error ";
      postMessage(msg);
  }
  var url = "http://www.hotgrog.com"; // for testing (manifest has permissions for this url)
  xhr.open("GET", url, true);
  xhr.send();
  postMessage(url);
}

4

1 回答 1

0

您是否考虑过尝试异步加载器,例如RequireJSCurl

看看作者对我们为什么要使用他的产品的解释。

于 2011-05-11T18:04:58.723 回答