Очень часто в конец статьи включаются ссылки на дополнительную формацию по обсуждаемой теме. Ключевой вопрос здесь: «Что на нице считается основным?» Очевидно, что основное содержимое ницы - это текст самой статьи, т. е. статья должна загружаться в вую очередь. Ссылки на дополнительную информацию не так в и потому могут быть загружены позднее. В данном примере мы смотрим практическую реализацию этого решения.
В первую очередь определимся с раскладкой страницы, которая б содержать статью. Раскладка страницы в этом примере очень про"
<Ш1е>Пример статьи<ДШе>
3aголовок статьи
' - '
Очень важную часть кода HTML представляет собой элемент не занимает места на странице. Без этого с от текста статьи вы бы увидели небольшой пустой прямоугольник.
В отличие от предыдущих примеров, здесь будет загружаться обычный текст из простого текстового файла, содержащего ссылки и заголовок. Это файл AdditionalLinks. txt, содержащий очень простой код HTML:
<п4>Дополнительная информация
Этот файл с таким же успехом мог бы быть создан динамически на сто¬роне сервера, но для целей, преследуемых этим примером, вполне по¬дойдет и файл со статическим содержимым.
Программный код JavaScript, выполняющий необходимые действия, достаточно прост и булыпая его часть уже знакома вам по предыду¬щим примерам этой главы:
function downloadLinksO {
var oXmlHttp = zXmlHttp.createRequestO;
oXmlHttp.open("get", "Additionallinks.txt", true); oXmlHttp.onreadystatechange = function () { if (oXmlHttp.readyState == 4) { if (oXmlHttp.status == 200) {
var divAdditionalLinks =
document.getElementById("divAdditionalLinks"); divAdditionalLinks.innerHTML = oXmlHttp. responseText; divAdditionalLinks.style.display = "block";
}
}
}
oXmlHttp.send(null);
>
window.onload = function () { if (zXmlHttp.isSupportedO) {
*•" ' downloadLinksO;
>
};
Функция downloadLinksO, выполняющая основную работу, вызывает¬ся, только если броузер поддерживает XMLHttp и только после полной вагрузки страницы. Программный код функции реализует стандарт-вый алгоритм работы с объектом XMLHttp, который вы уже не раз виде¬ли ранее. После того как будет получено содержимое файла Additional--inks. txt, оно записывается в свойство innerHTML элемента . На по¬следнем этапе процесса загрузки в свойство display элемента за¬писывается значение block, чтобы сделать содержимое видимым. Конечный результат работы страницы показан на рис. 3.5.
Если же броузер не поддерживает работу с объектом XMLHttp, то б с дополнительными ссылками никогда не появится на экране, а вый абзац займет всю доступную ширину страницы.
Этот способ не ограничивает вас загрузкой одного блока, а позво реализовать загрузку любого количества разделов страницы. Мо создать несколько объектов XMLHttp, по одному для каждого разд и затем выполнить с их помощью серию запросов либо использо единственный объект XMLHttp и последовательно, один за другим, гружать необходимые разделы. В любом случае выбор полностью висит от вас и ваших желаний.