Порядок загрузки содержимого страницы сайта

LIN
На сайте с 22.04.2006
Offline
114
LIN
3702

Нашел тут статью, якобы помогающую задать порядок загрузки слоев

(div). www.webtricks.ru/?p=10

Однако скрипт почему-то не работает.

Причем скорей всего именно java часть.

Подскажите пожалуйста, что там нужно подкорректировать, чтобы скриптик был рабочий.

Может кто предложит более красивый вариант реализации...

Заранее спасибо за комментарии!

Ёжик В Тумане
На сайте с 26.07.2006
Offline
16
#1
LIN:
Нашел тут статью, якобы помогающую задать порядок загрузки слоев
(div). www.webtricks.ru/?p=10

Однако скрипт почему-то не работает.
Причем скорей всего именно java часть.

Подскажите пожалуйста, что там нужно подкорректировать, чтобы скриптик был рабочий.

Может кто предложит более красивый вариант реализации...

Заранее спасибо за комментарии!

Ссылка не работает.

Если сайт свертан на DIV, то и загружаться он будет в том порядке, как прописаны слои, т.е. шапку можно поставить в конце документа, а низ в начале и именно так они и отобразаться в браузере.

Ушел в себя, забыл про форум.
Вернусь ли? Не знаю... Если нужен, пишите в аську...
LIN
На сайте с 22.04.2006
Offline
114
LIN
#2

Я тоже так думал.

Однако на практике получается так, что все же быстрей грузятся изображения меньшие по объему.

Вобщем вот текст статьи, которую вы не смогли открыть:

Иногда некоторые ресурсы имеют красивый, но одновременно и 

достаточно “тяжеловесный” графический дизайн. Например, большая “шапка”
страницы может полностью подгружаться из jpg файла. В этом случае очень
вероятно, что при первом просмотре содержимое данной страницы сайта
отобразится намного раньше незакешированной картинки заголовка.
Данный порядок отображения может быть довольно непривлекательным.

Чтобы избавиться от этого недостатка, можно использовать обычный
механизм обработки события OnLoad. Для этого нужно задать CSS стиль
“display: none” для контекста ‘B’, который будет выводиться только после
загрузки первоначально блока ‘A’. Как только будет загружен код ‘A’,
с помощью JavaScript будет перехвачено событие OnLoad для этого
фрагмента и ”включится” отображение блока ‘B’.

Обработчик OnLoad событий может иметь следующий вид:

<script language=JavaScript>

<!– var DHTML = (document.getElementById || document.all || document.layers);

function getObj(name) {
if (document.getElementById) {
return document.getElementById(name).style;
} else if (document.all) {
return document.all[name].style;
} else if (document.layers) {
return document.layers[name];
}

function displayObject(name,flag) {
if (!DHTML)
return;
var x = getObj(name);
x.display = (flag) ? ‘block’ : ‘none’;
}

//–>

</script>

Теперь структуру фрагментов ‘A’ и ‘B’ схематично можно описать таким образом (добавлен также элемент ‘C’, выводящий сообщение ‘Загрузка…’ до тех пор пока не включится элемент ‘B’):

<div id=”Block_C”>Загрузка…</div>

<div id=”Block_A” onLoad=”displayObject(’Block_C’, 0);
displayObject(’Block_B’, 1);”>

…Код фрагмента A…

</div>

<div id=”Block_B” style=”display: none;”>

…Код фрагмента B…

</div>

Очевидно, что таким образом можно определить порядок загрузки
любого количества фрагментов HTML кода страницы.

Кто найдет тут косяк +.

Заранее спасибо!

Bor-ka
На сайте с 16.11.2004
Offline
256
#3
LIN:
Кто найдет тут косяк +.
Заранее спасибо!

не вдаваясь в содержимое фрагмента бросаются в глаза не те кавычки а построфы.

Замените их на ' и ", а не ’,”,‘

LIN
На сайте с 22.04.2006
Offline
114
LIN
#4
Bor-ka:
не вдаваясь в содержимое фрагмента бросаются в глаза не те кавычки а построфы.
Замените их на ' и ", а не ’,”,‘

Этот косяк я сразу исправил (на форум просто вставил текст основной статьи).

Не помогло.

Было бы классно если бы кто-нибудь вдался в содержимое фрагмента. ;)

LIN
На сайте с 22.04.2006
Offline
114
LIN
#5

Кое что нашел сам, в первой функции не закрывется главная фигурка }

Однако на работоспособность скрипта это исправление не повлияло.

🚬

Bor-ka
На сайте с 16.11.2004
Offline
256
#6

LIN, запостите переформатированный код

Kolyaj
На сайте с 28.03.2006
Offline
69
#7

У элемента div нет события onLoad.

Ёжик В Тумане
На сайте с 26.07.2006
Offline
16
#8

В коде вообще ошибок полно, но в строке:


<div id=”Block_A” onLoad=”displayObject(’Block_C’, 0);displayObject(’Block_B’, 1);”>

сразу две ошибки:

1.

Kolyaj:
У элемента div нет события onLoad.

2. как вообще можно обращаться к блоку который идет в коде после, т.е. сам div с id="Block_B" еще не загружен, т.е. не определен, и его еще нет в DOM, однако с ним уже пытаются провести какие-то действия.

По моему, onload - может быть только у тегов <body>, <frameset> и <img>.

LIN
На сайте с 22.04.2006
Offline
114
LIN
#9

Bor-ka, Создал страничку http://manager.spb.su/1/

Посмотри, что там как =)

Ёжик В Тумане, Если у слоя нет события onload как это можно обойти другим спобом?

Всем спасибо за комментарии.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий