Загрузить элементы документа с другой страницы
Здравствуйте, возможно ли загрузить элементы документа с другой страницы. Например обратиться к документу другой страницы с целью вывести все ссылки другой страницы на текущей странице ? Если это возможно то как обратиться к документу другой страницы ?
|
Обе страницы на одном и том же домене?
Код на jQuery пойдёт? |
Цитата:
|
// Кроссбраузерно создаём объект запроса 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 ); |
exec
огромное спасибо Но есть один вопрос: 1.Можно ли вместо /index.php использовать /index/ или /index.html Другими словами запрос к статичной странице можно направлять ? |
Можно.
|
А у меня такой вопрос! Поиск слова в другом файле html возможен?
Например поиск в цикле по всем html страничкам от 0 до 100 с нахождением в тексте отдельных слов и возврат тега с текстом содержащий это слово и тег стоящий перед ним!? |
можно средствами скрипта-если все страницы твои
|
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. |
То есть элемент найденного слова? ну тоже неплохо!
Осталось еще повесить после совпадение обработчик берущий параметры html , id и т.д. что бы потом забабахать страничку. Вопрос, в массиве содержится просто слово или сам тег содержащий слово? |
Часовой пояс GMT +3, время: 03:42. |