-
Знаю, конференция "Прочее", может, кто подскажет.
Как на гугль-мэйле сделан "прогрессбар" загрузки? Это слой с классом lpt, который меняет width, и лежит внутри другого слоя. Но код изменения width я не нашел. И как это делается столь точно до конца загрузки?
-
через AJAX рендерится
-
А можно чуть поподробнее? ;-)
-
-
-
Мне не нужны уроки AJAX. Мне нужно понять, как реализована эта фишка. С аяксом я знаком.
-
> Мне нужно понять, как реализована эта фишка
ну так в коде должен быть JavaScript меняющий ширину DIV или чего то там. Чудес не бывает, плохо искал значит.
-
> С аяксом я знаком.
> И как это делается столь точно до конца загрузки?
Значит этот вопрос отпадает.
-
> Чудес не бывает, плохо искал значит.
поищи сам на досуге. Найдены переменные lp и pr, но далее раскрутить не могу, даже Firebug'ом
> Значит этот вопрос отпадает.
отнюдь, поясни.
-
> js jin (11.12.08 00:02) [8]
> отнюдь, поясни.
У меня нет гугл мейла, если расскажешь что отображает прогресс может скажу как сделано.
-
При загрузке страницы, то есть еще до всех менюшек, рюшечек етц просто отображается див (как - писал выше) и меняет свою ширину (т.к. он внутри другого дива и имеет синий бэкграунд, то это подобно прогрессбару).
-
Параллельно прорабатываю вопрос на одной известной анонимной имиджборде в /s/ , НО покуда не получил вразумительных ответов. Только на хабре встретилась статья, из всего - наиболее удачная.
-
о таких вещас нужно спрашиваться на специализированных форумах - web. например на php.ru, а не в какой то потрепаловке
-
> js jin
Я посмотрел код страницы. Этот прогресс что ли?
<div id="loading"> <div class="cmsg"> <div class="msg"> Загрузка dvmuratov@gmail.com… </div> <div class="lpb"> <div id="lpt"></div> </div> </div>
Более невразумительного кода JavаScript я еще не видел. Срабатывает очевидно тот код JavaScript, что в <body> в нем куча ссылок на внешние скрипты. Код явно не для просмотра человеком генерился.
-
> js jin
Но разобраться можно. Но не сейчас. Честно говоря, проще будет придумать свое решение, чем ковырять этот код, который как через обсфукатор пропущенный.
-
Да, место прогресса ты нашел верно, а именно
<div class="lpb"> <div id="lpt"></div> </div>
lpt и меняет ширину. Где это делается - бог весть.
-
> как через обсфукатор пропущенный.
так оно и есть.
-
> js jin
В кратце суть такова:
Ну изменение ширины DIV на JavaScript сделать не сложно. Страница грузится явно через Ajax в фоне, при этом через тот же Ajax получается информация о проценте выполнения, что отображается на индикаторе. После достижения 100% в окно браузера подставляется загруженная страница. Т.е. изначальная страница содержит только код индикатора и код для загрузки полной версии. Как то так.
Завтра может попробую изобразить подобное.
-
Я понял это точно так же, как ты. А вот хочу найти момент ПОЛУЧЕНИЯ информации о проценте загрузки.
-