Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Загрузить элементы документа с другой страницы (https://javascript.ru/forum/events/11544-zagruzit-ehlementy-dokumenta-s-drugojj-stranicy.html)

alexrussia 30.08.2010 12:59

Загрузить элементы документа с другой страницы
 
Здравствуйте, возможно ли загрузить элементы документа с другой страницы. Например обратиться к документу другой страницы с целью вывести все ссылки другой страницы на текущей странице ? Если это возможно то как обратиться к документу другой страницы ?

exec 30.08.2010 13:37

Обе страницы на одном и том же домене?
Код на jQuery пойдёт?

alexrussia 30.08.2010 13:39

Цитата:

Сообщение от exec (Сообщение 69081)
Обе страницы на одном и том же домене?
Код на jQuery пойдёт?

Да, лучше javascript. просто пример как любой элемент вытащить из другой страницы

exec 30.08.2010 13:57

// Кроссбраузерно создаём объект запроса
var req = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject( 'Microsoft.XMLHTTP' );
// Открываем соединение
req.open( 'GET', '/index.php', true );
// Вешаем на объект запроса обработчик события readystatechange
req.onreadystatechange = function () {
	// readyState — это состояние запроса. Если он равен 4 (запрос выполнен), то…
	if ( req.readyState == 4 ) {
		// Проверяем, успешно ли выполнена загрузка документа
		if ( req.status == 200 ) {
			// Если да, то парсим текст ответа в DOM
			var node = document.createElement( 'DIV' );
			node.innerHTML = req.responseText;
			// Вернёт текст первой ссылки
			alert( node.getElementsByTagName( 'A' )[0].innerHTML );
		}
	}
};
// Отсылаем запрос
req.send( null );

alexrussia 30.08.2010 14:08

exec
огромное спасибо
Но есть один вопрос:
1.Можно ли вместо /index.php использовать /index/ или /index.html Другими словами запрос к статичной странице можно направлять ?

exec 30.08.2010 14:21

Можно.

0931454574 23.03.2011 14:49

А у меня такой вопрос! Поиск слова в другом файле html возможен?
Например поиск в цикле по всем html страничкам от 0 до 100 с нахождением в тексте отдельных слов и возврат тега с текстом содержащий это слово и тег стоящий перед ним!?

dmitriymar 23.03.2011 15:17

можно средствами скрипта-если все страницы твои

Matre 23.03.2011 16:12

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.

0931454574 25.03.2011 09:40

То есть элемент найденного слова? ну тоже неплохо!
Осталось еще повесить после совпадение обработчик берущий параметры html , id и т.д. что бы потом забабахать страничку.
Вопрос, в массиве содержится просто слово или сам тег содержащий слово?


Часовой пояс GMT +3, время: 18:37.