• Chromium web ? Жуйк, как называется такая вещь, когда сервер отдаёт веб-страницу постепенно, т.е. её загрузка показывает прогресс некоей операции? Скажем, он может выдавать ежесекундно очередную строчку ява-скрипта, которая будет менять значение индикатора, и так мы сможем увидеть прогресс прямо во время загрузки. Искал что-то вроде persistent connection, не нашёл. Проблема в том, что Chromium такое, похоже, не поддерживает — в FF прогресс сразу же виден, а в Chromium'е только после завершения операции выбрасывается вся загруженная страница. Не могу нагуглить даже, писал ли кто-нибудь о такой проблеме, потому что не знаю, как оно называется. Помоги, жуйк! С меня как обычно.

Replies (8)

  • @eurekafag, Это новые методы. Да, можно регулярно стучаться на сервер, просить прогресс, указывая, для кого именно мы его просим (клиентов-то масса, и нужно их как-то различать). Т.е. выходит солидный оверхед для простых задач. А мне нужно отправить на сервер небольшой запрос и получать понемногу ответ в виде прогресса, отображая его в браузере по мере поступления. Хромиум так не умеет или я что-то делаю не так.
  • @eurekafag, Ну дыкть везде такой трюк работает... Помню, chat.ru делал что-то подобное, там постоянно коннект висел до сервера. Подробностей не знаю, но ведь чем-то оно оттуда бралось. И это в лохматые 90-е, когда про аякс и не слышали.
  • @eurekafag, Неправда ваша. Точнее, он рефрешился, но раз в 5 минут, а так сообщения нормально выползали, без задержек. Думаю, там был IFRAME, в который стримился текст с сервера, как раз этим вот методом.
  • @eurekafag, Так, вопрос частично закрыт. Выдаваемые строчки ява-скрипта нормально цепляются и исполняются по мере поступления. Голый HTML кэшируется жёстко, и никак не удалось это побороть разными хедерами. Значит, будем яваскриптить.
  • @eurekafag, А это уже твои проблемы будут. Но разработка всё равно сугубо локальная, не стартап ни в коем случае. Просто подручная тулза. Так что насрать на 99.9999997% населения планеты.
  • @eurekafag, Такое есть в web framework'е Lift. Правда он на Scala :)
  • @Dema, Ну, меня реализация интересовала. Если кому вдруг понадобится, на похапе после каждого echo нужно добавить ob_flush(); flush(); а в качестве выводимого текста подавать что-то типа <script>pr(тут_прогресс_в_процентах_или_попугаях)</script>. Функция pr выдаётся раньше и содержит document.getElementById['counter'] = val
  • @eurekafag, ага, насколько я понимаю, именно так оно и делается.