Показать сообщение отдельно
  #9 (permalink)  
Старый 23.03.2011, 16:12
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

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.
Ответить с цитированием