Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> загрузка содержимого после загрузки всего <body>, загрузка контента после загрузки боди 
V
    Опции темы
numerovan
Дата 4.10.2009, 02:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 549
Регистрация: 1.12.2007

Репутация: нет
Всего: 2



Здравствуйте , скажите пожалуйста как можно осуществить средствами яваскрипт фоновую загрузку данных , т.е. у меня загрузилось начальная страница индекс (50 кб) , после начинается загрузка других данных: допустим 5 div-ов (абсолютные) размеров по 50 кб.
Пояснение : загрузилась нужная информация и показалась пользователю, после загружается остальное и в итоге получается что весь сайт загрузился клиенту , который сможет без тормазов перемещаться по меню сайта.


К примеру многие пишут как загружать картинки в фоновом режиме
pic = new Image();
pic.src = "pic.jpg";
да он грузится сразу , но видно как браузер пытается загрузить больше данных, т.е. пауза при открытии увеличивается, что не очень хорошо.
Вот я и думаю ... если пользователю показать начальную страницу, а после того как он догонит что и как на этой главной странице делать к этому времяни подгрузиться и остальная часть ...
Кто нибудь подскажите как реализовать такое решение. Спасибо.
PM MAIL   Вверх
bars80080
Дата 4.10.2009, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



начинать загрузку дополнительных данных только по загрузке страницы, т.е. поставить обработчик <body onload="addloader();">
и загружать в нём что нужно
PM MAIL WWW   Вверх
numerovan
Дата 4.10.2009, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 549
Регистрация: 1.12.2007

Репутация: нет
Всего: 2



Я правильно понял, это нужно сделать вот так ?

<script>
 function addloader(){
  document.write( '<div class="any"> info (50 kb) </div> ' );
}
</script>
<body onload="addloader()">
     main info
</body>
PM MAIL   Вверх
bars80080
Дата 4.10.2009, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



да нет, не document.write, и уж точно не 50 кБ кода в нём. ведь в таком случае он всё равно будет грузится

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

document.getElementById('someblock').innerHTML = 'полученный код';


PM MAIL WWW   Вверх
bars80080
Дата 4.10.2009, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



Цитата

от так нужно сделать :

Код

<script>
 function addloader(){
  document.getElementById('someblock').innerHTML = '<table><tr><td> content(50kb) </td></tr></table>';
}
</script>
<body onload="addloader()">
     main info
</body> 
<div id="someblock" class="any"> info (50 kb) </div>



нет, вот так:

Код

<script>
function addloader(x) {
    var dpar1 = new Date();
    var dpar = dpar1.getSeconds();
    if(window.XMLHttpRequest) {
        try { req = new XMLHttpRequest(); } 
        catch (e){}} 
    else if(window.ActiveXObject) {
        try { req = new ActiveXObject('Msxml2.XMLHTTP'); } 
        catch (e){ req = new ActiveXObject('Microsoft.XMLHTTP'); }}
    req.onreadystatechange = function() { 
        if(req.readyState == 4) ajax_o(req.responseText); }     
    req.open("GET", 'http://server.ru/addcontent.php?par=' + x + '&dpar=' + dpar, true);
    req.send(''); 
}
function ajax_o(x) {
    var zelj = document.getElementById('someblock');
    zelj.innerHTML = decodeURIComponent(x);
}
</script>
<body onload="addloader(1)">
     main info
<div id="someblock" class="any">пусто</div>
</body> 



где сервер по запросу http:/ /server.ru/addcontent.php?par=1 должен отдать тебе 
Код

<table><tr><td> content(50kb) </td></tr></table>


Это сообщение отредактировал(а) bars80080 - 4.10.2009, 16:12
PM MAIL WWW   Вверх
youri
Дата 5.10.2009, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: 2
Всего: 16



numerovan, у тебя действительно страница в 50кБ и 5 div'ов по 50 кБ?

Это сообщение отредактировал(а) youri - 5.10.2009, 08:37
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0699 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.