Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как обработать вебстраницу не показывая ее? (https://javascript.ru/forum/misc/9326-kak-obrabotat-vebstranicu-ne-pokazyvaya-ee.html)

Aetae 24.10.2010 01:49

kostyanet
Вот тут то именно AJAX и нужен. И пугаться страшного слова не надо, всё элементарно.)

kostyanet 24.10.2010 06:51

Я пугаюсь? Ни разу не видел.

Вопрос. Кто мне даст ейджекс на сервере какого-нить aceshowbiz.com?

Aetae 24.10.2010 08:04

Собсно скрипт в GreaseMonkey(а речь шла именно о нём, или я что-то не понял?) формально выполняется на этом же домене, так что доступ есть и аяксом вы соответственно получите код страницы.

Элементарно берём пример отсюда-же из уроков, меняя только ссылку и запихивая его в GreaseMonkey для всего javascript.ru:
function getXmlHttp(){
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}
function vote() {
	// (1) создать объект для запроса к серверу
	var req = getXmlHttp()  
    // (2)
	req.onreadystatechange = function() {  
        // onreadystatechange активируется при получении ответа сервера

		if (req.readyState == 4) { 
            // если запрос закончил выполняться

			//alert(req.statusText) // показать статус (Not Found, ОК..)

			if(req.status == 200) { 
                 // если статус 200 (ОК) - выдать ответ пользователю
				alert("Ответ сервера: "+req.responseText);
			}
			// тут можно добавить else с обработкой ошибок запроса
		}

	}

       // (3) задать адрес подключения
	req.open('GET', '/forum/75627-post22.html', true); //для примера линк на ваш пост 

	// объект запроса подготовлен: указан адрес и создана функция onreadystatechange
	// для обработки ответа сервера
	 
        // (4)
	req.send(null);  // отослать запрос
}
vote()

Вам остаётся лишь отпарсить полученный результат на предмет нужных элементов.
А вот с обработкой по мере загрузки скорее всего получится облом.

kostyanet 24.10.2010 18:18

Ясно. Когда я ничерта не смог понять из статьи о функции replace и потащился на в3скул, то не сразу сообразил что и прочитанная статья об аджаксе такого же художественного качества.

Сколько раз уже зарекался что-то читать по технике на русском - забываю и читаю и гарантировано напарываюсь на галиматью. Если знаешь, то, конечно, сразу разберешься, а если не знаешь - сначала воспринимаешь как факт. Ну, типа, люди же не дурнее тебя. Оказывается дурнее. Никому в голову не пришло написать что аджакс - клиентская группа технологий.

http://en.wikipedia.org/wiki/Ajax_%28programming%29

Ладно, проехали. Сам разберусь.

ЗЫ Особенно порадовала несанкционированная подписка на темы. Мило.


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