Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.08.2010, 11:59
Аспирант
Отправить личное сообщение для alexrussia Посмотреть профиль Найти все сообщения от alexrussia
 
Регистрация: 02.03.2010
Сообщений: 31

Загрузить элементы документа с другой страницы
Здравствуйте, возможно ли загрузить элементы документа с другой страницы. Например обратиться к документу другой страницы с целью вывести все ссылки другой страницы на текущей странице ? Если это возможно то как обратиться к документу другой страницы ?
Ответить с цитированием
  #2 (permalink)  
Старый 30.08.2010, 12:37
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Обе страницы на одном и том же домене?
Код на jQuery пойдёт?
Ответить с цитированием
  #3 (permalink)  
Старый 30.08.2010, 12:39
Аспирант
Отправить личное сообщение для alexrussia Посмотреть профиль Найти все сообщения от alexrussia
 
Регистрация: 02.03.2010
Сообщений: 31

Сообщение от exec Посмотреть сообщение
Обе страницы на одном и том же домене?
Код на jQuery пойдёт?
Да, лучше javascript. просто пример как любой элемент вытащить из другой страницы
Ответить с цитированием
  #4 (permalink)  
Старый 30.08.2010, 12:57
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

// Кроссбраузерно создаём объект запроса
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 );
Ответить с цитированием
  #5 (permalink)  
Старый 30.08.2010, 13:08
Аспирант
Отправить личное сообщение для alexrussia Посмотреть профиль Найти все сообщения от alexrussia
 
Регистрация: 02.03.2010
Сообщений: 31

exec
огромное спасибо
Но есть один вопрос:
1.Можно ли вместо /index.php использовать /index/ или /index.html Другими словами запрос к статичной странице можно направлять ?
Ответить с цитированием
  #6 (permalink)  
Старый 30.08.2010, 13:21
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Можно.
Ответить с цитированием
  #7 (permalink)  
Старый 23.03.2011, 13:49
Человек
Отправить личное сообщение для 0931454574 Посмотреть профиль Найти все сообщения от 0931454574
 
Регистрация: 10.03.2011
Сообщений: 305

А у меня такой вопрос! Поиск слова в другом файле html возможен?
Например поиск в цикле по всем html страничкам от 0 до 100 с нахождением в тексте отдельных слов и возврат тега с текстом содержащий это слово и тег стоящий перед ним!?
Ответить с цитированием
  #8 (permalink)  
Старый 23.03.2011, 14:17
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,589

можно средствами скрипта-если все страницы твои
Ответить с цитированием
  #9 (permalink)  
Старый 23.03.2011, 15: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.
Ответить с цитированием
  #10 (permalink)  
Старый 25.03.2011, 08:40
Человек
Отправить личное сообщение для 0931454574 Посмотреть профиль Найти все сообщения от 0931454574
 
Регистрация: 10.03.2011
Сообщений: 305

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка текста с одной страницы в форму на другой странице Dima Общие вопросы Javascript 20 11.11.2016 08:33
Стягивание из html кода другой страницы данных royksopp Общие вопросы Javascript 8 21.12.2011 22:05
Данные с другой страницы Bog|4|ev Общие вопросы Javascript 1 18.03.2010 10:10
Две одинаковые страницы: на одной скрипты видны, на другой нет Маня Общие вопросы Javascript 9 03.06.2009 10:57
Отрыть DIV блок при переходе с другой страницы BuTbka Общие вопросы Javascript 7 08.04.2009 21:59