Форум    Участники     Активные темы     Регистрация     Войти



  • Страница 1 из 1
  • 1
Департамент Незаконных Изобретений
Robert_IrvingДата: Вт., 05.04.2011, 01:17 | Сообщение # 1
Ирвинг-сахиб

красное дерево, перо феникса
Спасибо: 5
Подарки: 3
Конечно, полное название этого департамента звучит как

Департамент Контроля За Незаконным Использованием

Изобретений Магглов

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

Департамент Незаконных Изобретений

процветает в блаженном неведении о предосудительности самого своего существования.
Robert_IrvingДата: Вт., 05.04.2011, 01:55 | Сообщение # 2
Ирвинг-сахиб

красное дерево, перо феникса
Спасибо: 5
Подарки: 3
В апреле 1965 года ДНИ совместно с клиникой св.Мунго провел закрытую конференцию, тема которой была предложена руководителем ДНИ, кавалером ордена Мерлиновой Бороды доктором Тяпляпом И. Готовингсом "Почему администраторы форумов быстро теряют вкус к написанию "Новостей" своих проектов".

В ходе прений гений Незаконных Изобретений пришел к коллективному выводу, что причина этого - крайнее неудобство и нудность редактирования и добавления указанных материалов. Перед сотрудниками ДНИ была поставлена задача найти незаконное решение вопроса, которая и была ими решена совершенно незаконным путем.

Предложенное решение было опубликовано в виде брошюры "Ajax: в больницу св. Мунго своим ходом" (цена у добросовестных распространителей 20 сиклей). Ниже предлагается реферат этой брошюры.

* * *

Мы не будем вдаваться в детали Ajax. Все, что нам нужно знать о нем для нашей задачи - это самую суть. Суть же такова: Ajax - это всего лишь возможность получить данные от сервера в любой момент времени, а сервером может быть все, что угодно колдующему, лишь бы лежало на том же домене, что и скрипт с Ajax (это важное ограничение!).

То есть, у вас есть html-файлик, который выводит на экран "Привет" - и это сервер (правда, функционал его крайне ограничен - как к нему ни обращайся, в ответ получаешь неизменный "Привет"). Понятно, что такое сервер Ajax? Это что угодно, лишь бы оно содержало что-то, выводимое на экран.

Ваш форум что-то выводит на экран? Естественно. Поэтому к любой его станице можно обратиться из Ajax, как к серверу. Вывод напрашивается сам: создаем тему "Новости", пишем в нее посты с новостями - а Ajax будет нам эти посты выводить на главной странице, прямо как будто мы их подгружаем с настоящего сервера.

Я вижу зреющий вопрос: но что же такое САМ Ajax? Для нас (раз мы решили не углубляться в детали) - сущая ерунда. Это объект javascript

var xmlHttp = new XMLHttpRequest();

Правда, в таком виде он будет работать только в Firefox и GoogleChrome, но усложнить себе жизнь мы всегда успеем.

Итак, раз наш xmlHttp - объект, у него есть свойства и методы. Какие из них нам нужны? Немногие. Они поместятся в 2 функции: отправки и приема данных. А именно:

Отправка запроса, который вернет нам страницу форума:

Code

function callAjax(url)
{   
   xmlHttp.open("GET", url, true);
   xmlHttp.onreadystatechange = responseAjax;

   xmlHttp.send(null);

   return true;
}

Прием ответа (текста страницы)

Code

function responseAjax()
{
   if (xmlHttp.readyState == 4)   
   {
    if ( xmlHttp.status == 200 )
    {
     parcer(xmlHttp.responseText);
    }
   }

          return true;
}   

Первую процедуру примите на веру, а вторую очень легко сформулировать словами: "ЕСЛИ xmlHttp.readyState = 4 И xmlHttp.status = 200 ТО выполнить процедуру parcer(xmlHttp.responseText).

Процедуру parcer нам предстоит написать, а xmlHttp.responseText - это и есть текст нашей страницы форума, который получил Ajax. Оцените красоту игры: две совсем маленькие процедурки, и вы получили свою страницу в виде текстовой переменной javascript. Это же просто сказка барда Бидля какая-то!

(продолжение следует)

Сообщение отредактировал Robert_Irving - Вт., 05.04.2011, 01:57
  • Страница 1 из 1
  • 1
Поиск:
  Сегодня, 26.12.2024, форум посетили
(учитываются только принятые игроки):



Кликни - позови новых игроков!

Palantir Лучшие AD&D и RPG ресурсы Рунета TopOnline - Рейтинг ролевых игр
Друзья "Старой доброй Англии"

ЭНАССА



Именем Короля - ролевая игра FRPG Marauders: RAGTIME

Страничка баннеров

Сайт управляется системой uCoz