![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: нет Всего: 1 |
Добрый день.
Хочется сделать ProgressBar, который бы показывал процент загрузки интернет-странички. Кто может чем-то помочь, помогите, пожалуйста!!! Очень хотелось бы посмотреть примеры, может у кого есть, поделитесь, плиз... погуглила, но что-то ничего подходящего для себя не нашла:( |
|||
|
||||
| smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
Swatch, какова задача?
А то у вас постановка вопроса типа "Как накрасить ногти?!" И сам вопрос "А как накрасить ногти в тменоте и без кисточки" Как сделать просто progress bar на javascript - это вы можете легко найти в google |
|||
|
||||
| Swatch |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: нет Всего: 1 |
хммм, а "ProgressBar, который бы показывал процент загрузки интернет-странички" - это не задача? мне нужно, чтобы пока грузится страничка (на которой показывается календарь и загружаются разные задачки), показывать ProgressBar с процентом загрузки...
то есть, чтобы во время выполнения вот этой функции:
Нашла в интернете разные прогрессбары. попробовала один из них использовать. вот это добавила в код страничка:
вот это в свою функцию:
Только что-то ничего не показывается:( |
||||||
|
|||||||
| smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
Swatch,
Нет. Потому что если вам нужно готовое решение - то вам в Центр помощи. А если вы спрашиваете почему у вас не получается - тоу нужно знать что именно не получается. Иначе просто можно было бы писать "код не работает" Swatch, так же если хотите чтобы вам что-то починили - предоставьте код который у вас не работает целиком, пожалуйста. |
|||
|
||||
| Michael.de |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 22.3.2005 Где: Deutschland Репутация: 2 Всего: 9 |
Swatch, это (imho) не простая задача. Если начальный "вес" странички нам известен, то чтобы отобразить % придётся выяснять скач. объём с помощью ajax + Java или PHP на сервере (или Flash).
P.S. Может лучше обойтись анимацией (gif или флешка - как на страничке апдейта у майкрософт) и надписью "подождите пару секунд" |
|||
|
||||
| MaxWave |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 8.3.2006 Репутация: нет Всего: нет |
я тож так думаю... Прогресс бар загрузки вы где нибудь видели (не флеш) на сайтах?? Просто сделайте обычную анимашку типа Wait please...
|
|||
|
||||
| IDVsbruck |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 8 Всего: 22 |
Фактически, в полном объеме такую загрузку сделать невозможно.
Объясняется это следующим ... Условно можно разбить весь контент на 4 части: сама страница html (или динамически сформированная, что неважно), css-библиотеки, js-библиотеки и самое крупное - контент страницы - картинки, флешки и прочее статическое наполнение. Получается, что прогресс-бар надо делать в контенте самого окна, следовательно, первая часть для "логгирования" отпадает; частично (в лучшем случае) задействованы css и js, а также кое-какая графика (еслу нужна). Все остальное может подлежать "обработке". Чтобы знать, сколько %% мы уже скачали, надо знать, сколько надо скачивать всего. Значит, на сервере надо определить все, что подлегает такому анализу при получении. Только позавчера делал такую штуку, правда, немного схитрил: с учетом того, что мои css и js занимают несоизмеримо меньший объем, чем картинки, я ими пренебрег. Составил на сервере массив из загружаемых картинок, сервер сам определяет объем. Страница помещена в див, который по умолчанию скрыт. На клиенте вывел окошко, отображающее процент загрузки и первым делом отправляю запрос на получение ассоциативного массива с сервера (JSON, в котором определен относительный путь к картинкам и их объем, а также общий объем). В цикле каждому файлу назначаю событие onload (или, есле completed, то сразу добавляю проценты). По мере загрузки файлов проценты растут. Когда объем полученных файлов совпадает с полученым в массиве объемом, произвожу дальнейшие действия - закрываю прогресс-бар и открываю контейнер со страницей. Если честно, то делал, пробуя одну штуку, не надеясь на нормальный результат. А получилась совершенно безотказная штука. Естественно, при рефреше страницы отображение прогресс-бара происходит мгновенно. Плюсы такого метода: - логгирование загрузки, которое можно повернуть себе на пользу, делая страницу как бы "серьезнее"; - пользователь видит всю страницу сразу и в полном объеме; - показ страницы только в полном объеме, иначе не покажется ничего (нужна ниже подпись, что в случае зависания нажать рефреш) Минусы: - нетерпеливым может не понравиться в случае больших объемов, так как кроме процентов ничего не видно; при последующих заходах происходит почти мгновенно; - динамики нет никакой, так как размер файлов разный, то и скачки разные; как следствие - сначала грузятся очень маленькие картинки, затем большие - если нет в кеше; - в случае отключенного кеширования картинки на страницы будут грузиться повторно; - фактически картиной при открытии контейнера нет, но страница при открытии начинает сопоставлять найдненное в кеше с контентом с сервера, следовательно, есть пауза - на выделенке ее практически не наблюдаю (грузится мгновенно), но, возможно, при модемной связи будет ощутимой; - надо осуществлять допработу на сервере, аккуратно составлять списки картинок и т.д. Также хочется отметить, что смысла загонять в массив имиджей нет, так как на нормальной страницы с хорошо развитым css картинок-элементов крайне мало (у меня, к примеру, их нет совсем) - в основном все картинки - это бекграунды элементов (дивы, спаны и ссылки). Однако css добавляет картинки по тому же принципу, используя кеш. Еще думал поставить для заставочки на время загрузки анимированный гиф: сначался дожидался по onload'у его загрузки, затем грузить все остальное. Однако специфика прокручивания анигифа в ИЕ такова, что после прохождения цикла он снова обращается к серверу, как бы подвисая. Вид получается не очень, когда цикл заканчивается и гиф пропадает, а проценты идут. Я не смог этого побороть, поэтому поставил текст и проценты. Думаю, что с вариантом, предложенным выше (заполнение дивов заливкой) получится. Также должен работать и флеш, но лень было вставлять. |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |