Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№120-12-2011 12:23:31

rafael
Участник
 
Группа: Members
Зарегистрирован: 11-10-2011
Сообщений: 11
UA: Chrome 16.0

вопрос по XMLHTTPRequest

Возник вопрос по XMLHTTPRequest. Хочу сделать запрос на этот сайтhttp://www.google.com/adplanner/static/top1000/  и далее хочу сделать сравнение текущего URL адреса и тех адресов что на этом сайте. Как мне реализовать этот сравнение? Как URL адреса с этого сайта преобразовать чтобы их можно было сравнивать с текущим? Организовать массив?
Приведите хотя бы примерный скрипт или дайте ссылку на полезную инфу.

Отсутствует

 

№220-12-2011 12:28:34

Lynn
Кофеман
 
Группа: Members
Откуда: Россия
Зарегистрирован: 16-02-2005
Сообщений: 1721
UA: Firefox 8.0
Веб-сайт

Re: вопрос по XMLHTTPRequest

Я вот так и не понял, как название темы соотносится с вопросом внутри?


Isn't it ironic... don't you think? — Alanis Morissette

Отсутствует

 

№320-12-2011 12:45:55

rafael
Участник
 
Группа: Members
Зарегистрирован: 11-10-2011
Сообщений: 11
UA: Chrome 16.0

Re: вопрос по XMLHTTPRequest

Lynn пишет

Я вот так и не понял, как название темы соотносится с вопросом внутри?

Как мне сделать запрос так чтобы получить содержимое сайта, а именно URL адреса, чтобы их сравнивать с текущим адресом?

Добавлено 20-12-2011 13:05:57
вернее мне нужно содержимое страницы

Отредактировано rafael (20-12-2011 13:05:57)

Отсутствует

 

№420-12-2011 23:42:04

arka
Участник
 
Группа: Members
Зарегистрирован: 10-08-2005
Сообщений: 183
UA: Firefox 8.0
Веб-сайт

Re: вопрос по XMLHTTPRequest

Видимо, Вам ещё рано учить наизусть такие сложные сочетание латинских букв. Сначала поизучайте, что такое URL, чем он отличается от контента, etc...

Отсутствует

 

№521-12-2011 13:01:09

rafael
Участник
 
Группа: Members
Зарегистрирован: 11-10-2011
Сообщений: 11
UA: Chrome 16.0

Re: вопрос по XMLHTTPRequest

arka пишет

Видимо, Вам ещё рано учить наизусть такие сложные сочетание латинских букв. Сначала поизучайте, что такое URL, чем он отличается от контента, etc...

Прекрасно знаю что такое URL и чем он отличается от контента. Повторюсь что мне надо получить с этой страничкиhttp://www.google.com/adplanner/static/top1000/
URL адреса которые там содержатся. Каким способом их вытащить оттуда?

Отсутствует

 

№622-12-2011 03:16:27

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 9.0

Re: вопрос по XMLHTTPRequest

rafael
Если именно черех XMLHttpRequest - то можно так:

Выделить код

Код:

var xhr=new XMLHttpRequest();
xhr.onload=function()
{
  let dom = this.responseXML;
  let urlNodes = dom.evaluate("//table[@id='data-table']//a[img]", dom, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
  let urls=[];
  for(var i=0; i<urlNodes.snapshotLength; i++)
    urls.push(urlNodes.snapshotItem(i).href);
}
xhr.open("GET", "http://www.google.com/adplanner/static/top1000/");
xhr.responseType="document";
xhr.send(null);

Нюансы: 1) запрос - только асинхронный, в синхронных запросах парсинг HTML в DOM не поддерживается; 2) согласно вот этому, работать будет только в FF11.0 и выше; в IE/chrome/opera данная фича также пока не реализована.
Если такой вариант не устраивает - остается обычным образом получить контент в виде текста, и парсить его регэкспами.
Есть еще один вариант - грузить документ в скрытый iframe, после загрузки вытаскивать нужные вам ссылки с помощью XPath так же, как в вышеприведенном коде.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]