Конференция "Прочее" » Загрузка страницы
 
  • js jin (10.12.08 22:47) [0]
    Знаю, конференция "Прочее", может, кто подскажет.
    Как на гугль-мэйле сделан "прогрессбар" загрузки? Это слой с классом lpt, который меняет width, и лежит внутри другого слоя. Но код изменения width я не нашел. И как это делается столь точно до конца загрузки?
  • antonn © (10.12.08 23:13) [1]
    через AJAX рендерится
  • js jin (10.12.08 23:14) [2]
    А можно чуть поподробнее? ;-)
  • sniknik © (10.12.08 23:49) [3]
  • sniknik © (10.12.08 23:52) [4]
    кстати, еще бы посоветовал
    http://jquery.com/
  • js jin (10.12.08 23:56) [5]
    Мне не нужны уроки AJAX. Мне нужно понять, как реализована эта фишка. С аяксом я знаком.
  • DVM © (10.12.08 23:57) [6]

    > Мне нужно понять, как реализована эта фишка

    ну так в коде должен быть JavaScript меняющий ширину DIV или чего то там. Чудес не бывает, плохо искал значит.
  • DVM © (10.12.08 23:58) [7]

    > С аяксом я знаком.


    > И как это делается столь точно до конца загрузки?

    Значит этот вопрос отпадает.
  • js jin (11.12.08 00:02) [8]

    > Чудес не бывает, плохо искал значит.

    поищи сам на досуге. Найдены переменные lp и pr, но далее раскрутить не могу, даже Firebug'ом


    > Значит этот вопрос отпадает.

    отнюдь, поясни.
  • DVM © (11.12.08 00:04) [9]

    > js jin   (11.12.08 00:02) [8]


    > отнюдь, поясни.

    У меня нет гугл мейла, если расскажешь что отображает прогресс может скажу как сделано.
  • js jin (11.12.08 00:07) [10]
    При загрузке страницы, то есть еще до всех менюшек, рюшечек етц просто отображается див (как - писал выше) и меняет свою ширину (т.к. он внутри другого дива и имеет синий бэкграунд, то это подобно прогрессбару).
  • js jin (11.12.08 00:18) [11]
    Параллельно прорабатываю вопрос на одной известной анонимной имиджборде в /s/ , НО покуда не получил вразумительных ответов. Только на хабре встретилась статья, из всего - наиболее удачная.
  • antonn © (11.12.08 00:23) [12]
    о таких вещас нужно спрашиваться на специализированных форумах - web. например на php.ru, а не в какой то потрепаловке
  • DVM © (11.12.08 00:25) [13]

    > 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> в нем куча ссылок на внешние скрипты. Код явно не для просмотра человеком генерился.
  • DVM © (11.12.08 00:27) [14]

    > js jin

    Но разобраться можно. Но не сейчас. Честно говоря, проще будет придумать свое решение, чем ковырять этот код, который как через обсфукатор пропущенный.
  • js jin (11.12.08 00:28) [15]
    Да, место прогресса ты нашел верно, а именно
    <div class="lpb"> <div id="lpt"></div> </div>
    lpt и меняет ширину. Где это делается - бог весть.
  • js jin (11.12.08 00:29) [16]

    > как через обсфукатор пропущенный.

    так оно и есть.
  • DVM © (11.12.08 00:37) [17]

    > js jin

    В кратце суть такова:

    Ну изменение ширины DIV на JavaScript сделать не сложно. Страница грузится явно через Ajax в фоне, при этом через тот же Ajax получается информация о проценте выполнения, что отображается на индикаторе. После достижения 100% в окно браузера подставляется загруженная страница. Т.е. изначальная страница содержит только код индикатора и код для загрузки полной версии. Как то так.

    Завтра может попробую изобразить подобное.
  • js jin (11.12.08 00:42) [18]
    Я понял это точно так же, как ты. А вот хочу найти момент ПОЛУЧЕНИЯ информации о проценте загрузки.
  • DVM © (11.12.08 00:51) [19]

    > А вот хочу найти момент ПОЛУЧЕНИЯ информации о проценте
    > загрузки

    вот тут кое-что:

    http://forum.alfaspace.net/9_4008_0.html
 
Конференция "Прочее" » Загрузка страницы
Есть новые Нет новых   [134447   +40][b:0][p:0.001]