var I = 0, R = [], word = "слово";
(function (I) {
var request = window.XMLHttpRequest() ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
request.open("GET", "/page" + I + ".html", true);
request.onreadystatechange = function () {
if (request.readyState === 4 && request.status === 200) {
var doc = document.createElement("DIV");
doc.innerHTML = request.responseText;
(function (C) {
for (var i = 0; i < C.childNodes.length; i++) {
var U = C.childNodes[i];
if (U.nodeType === 1) {
arguments.callee(U);
} else if (U.nodeValue.indexOf(word) !== -1) {
R.push([U = U.parentNode]);
while (U = U.previousSibling) {
if (U.nodeType === 3) {
R[R.length - 1][1] = U;
break;
}
}
}
})(doc);
if (I < 100)
arguments.callee(++I);
}
};
request.send(null);
})(I);
В этом примере запросы идут по страницам pageN.html, 0 <= N < 100
По окончании всех запросов элементы будут лежать в массиве R.