форум вебмастероff на AlfaSpace.NET

Ubuntu и Linux |реактивный бесплатный хостинг | Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга | правила форума

  Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ °
Форум вебмастеров на AlfaSpace.NET / The Matrix Has You / Индикатор прогресса загрузки для AJAX
Автор Сообщение
persei
Участник

475
# Дата: 21 Июл 2006 04:01


Народ помогите плз.
Как сделать чтобы во время загрузки ajax контента показывался прогресс бар (в процентах). Типа как на pro.mail.ru
Очень хочу сделать у себя такое

Андрей
Алексеевич

2125
# Дата: 21 Июл 2006 05:06


Нужно чтоб:
1) Сервер отдавал правильную шапку, в частности правильный «Content-Length». Её можно посчитать через «ob_» и «strlen».

2) Принять полный размер через метод XHLHttpRequest'а, называемый getResponseHeader(header), указав в качестве header толи Content-Length, толи Length (не помню точно).

3) Смотреть, если readyState равен «1» (т.е loading), то дальше два варианта:
Смотреть на status, т.к возможно там выводится кол-во загруженных байт.
Смотреть на responseText и считать кол-во символов (responseText.length ).

4) Теперь соответственно делить кол-во всего размера, на кол-во загруженного, и считать процент.

persei
Участник

475
# Дата: 21 Июл 2006 05:31


Андрей
Сенкс, счаз попробуем реализовать...
Кстати полный размер получать можно не только через заголовок. У меня работает gzip и размер через буферинг ставится в куку...

persei
Участник

475
# Дата: 21 Июл 2006 07:25


Андрей
Еще раз сенкс. Сделал. смотрим на exmp.alfamoon.com
Тестировал в firefox 1.5 и ie6.
рабочий код в
exmp.alfamoon.com/common/site.js

persei
Участник

475
# Дата: 21 Июл 2006 07:25


Пока просто проценты, но сделаю красиво типа прогресс бара...

Андрей
Алексеевич

2125
# Дата: 21 Июл 2006 08:50


Тебе повезло, что у тебя получилось. Я сказал почти наугад.

persei
Участник

475
# Дата: 21 Июл 2006 09:23


Андрей

» Андрей
3) Смотреть, если readyState равен «1» (т.е loading)

Не 1 а 3.

Андрей
Алексеевич

2125
# Дата: 21 Июл 2006 10:52


XMLHttpRequest readyState values: 
0 - Uninitiated, 
1 - Loading, 
2 - Loaded, 
3 - Interactive, 
4 - Complete.



Извини, я перепутал загрузку класса, и загрузку контента (процессинг).

persei
Участник

475
# Дата: 21 Июл 2006 12:41


Освоение Ajax, часть 3: Усовершенствованные запросы и ответы в Ajax

Брэт Маклафлин, автор и редактор, O'Reilly Media Inc.

* 0: Запрос не инициализирован (перед вызовом open()).
* 1: Запрос инициализирован, но не был передан (перед вызовом send()).
* 2: Запрос был передан и обрабатывается (на данном этапе вы можете обычно получить заголовки содержимого из ответа).
* 3: Запрос обрабатывается; часто в ответе доступны некоторые частичные данные, но сервер не закончил свой ответ.
* 4: Ответ завершен; вы можете получить ответ сервера и использовать его.


acsid
Alfa Guru

2388
# Дата: 21 Июл 2006 15:12


persei
убого смотриться) я его даже в начале незаметил вообще..

persei
Участник

475
# Дата: 22 Июл 2006 01:28


acsid
Это пока так... Тестовая версия...
Я ищу алгоритм по-лучше. Если в xmlhttprequest возвращал количество полученных байт то было бы гораздо лучше. просто на маленьких текстах получено пара байт, а парсинг текста выполнять рано - прогресс - 0%...

acsid
Alfa Guru

2388
# Дата: 22 Июл 2006 01:32 ° Поправил: acsid


persei
засунь весь саит кроме шапки в див, при загрузке в этом диве сделай лоадинг бар, когда скрипты всё загрузять, аяксом помести в этот див оставшуюся половину загруженного саита, эфeкт круче получиться)

persei
Участник

475
# Дата: 22 Июл 2006 08:05


нуууууууууу....

Ваш ответ

Quote  Bold Style  Italic Style  Underlined Style  URL Link  Email Link  Script AutoTab  Preformatted Text  Отменить *Что это?
... Запретить смайлы


Перед отправкой "нелатинского" текста проверьте кодировку броузера!
 » Логин  » Пароль 
 
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:29992, gzipped size:8996

Mp3 Download || Webs Studio™ || Song's Lyrics
eXTReMe Tracker Rambler's Top100 Рейтинг@Mail.ru Форум ТвойWeb [Valid RSS]