Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.12.2011, 11:20
Интересующийся
Отправить личное сообщение для InTheTT Посмотреть профиль Найти все сообщения от InTheTT
 
Регистрация: 11.10.2011
Сообщений: 13

Получение изображений с сервера
Здравствуйте. Искал в интернете, но ничего толком не нашел. А может и плохо искал ), одним словом - спешу. Вообщем, мне нужно реализовать следующее. Ajax'om в асинхронном режиме получать картинки с сервера и отображать их. Сделал пока так: Отправляю специальный post запрос на сервер. Сервер при получении такого запроса возвращает соответствующую параметрам запроса картинку. В обработчике onreadystatechange, при успешном ответе, устанавливаю src у картинки такой же как и при ajax запросе, полагая, что браузер прокешировал картинку. Основная цель, получать картинки "без тормозов" страницы, потому что картинки могут быть и больших размеров. Но тормоза заметны ... Я ajax начал изучать буквально вчера, так что извините если вопрос покажется банальным ). Подскажите пожалуйста кто знает как правильнее реализовать.
Ответить с цитированием
  #2 (permalink)  
Старый 09.12.2011, 03:37
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

Сообщение от InTheTT Посмотреть сообщение
Отправляю специальный post запрос на сервер.
И в чем заключается его "специальность"?

Сообщение от InTheTT Посмотреть сообщение
Сервер при получении такого запроса возвращает соответствующую параметрам запроса картинку.
И как же он её возвращает? Думаю, что он возвращает не bitmap картинки, а только её URL.

Сообщение от InTheTT Посмотреть сообщение
...полагая, что браузер прокешировал картинку.
А каково основание такого предположения?

Сообщение от InTheTT Посмотреть сообщение
Основная цель, получать картинки "без тормозов"...
Почитайте информацию о предварительной загрузке картинок и их onload.
Ответить с цитированием
  #3 (permalink)  
Старый 09.12.2011, 04:04
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Данные полученные POST запросами не кешируются браузером.
Ответить с цитированием
  #4 (permalink)  
Старый 09.12.2011, 12:23
Интересующийся
Отправить личное сообщение для InTheTT Посмотреть профиль Найти все сообщения от InTheTT
 
Регистрация: 11.10.2011
Сообщений: 13

1) Специальность заключается в url с параметрами. По параметрам определяется необходимая картинка.

2) Возвращает bitmap.

3) Предложил, думая, что так как используется один и тот же url браузер прокеширует ответ в первый раз.

4)Предварительная загрузка не подходит. Картинки меняются динамически в зависимости от действий пользователя. Но браузер во время загрузки виснет, хоть я и не начинаю грузить другую картинку пока не догрузилась предыдущая Мне нужно от этого зависания избавиться.
Ответить с цитированием
  #5 (permalink)  
Старый 09.12.2011, 12:25
Интересующийся
Отправить личное сообщение для InTheTT Посмотреть профиль Найти все сообщения от InTheTT
 
Регистрация: 11.10.2011
Сообщений: 13

Спасибо.
Ответить с цитированием
  #6 (permalink)  
Старый 09.12.2011, 13:02
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

Сообщение от InTheTT Посмотреть сообщение
4) Предварительная загрузка не подходит. Картинки меняются динамически в зависимости от действий пользователя. Но браузер во время загрузки виснет
А что значит виснет? То есть, перестаёт реагировать на любые воздействия пользователя (клавиатура/мышь)? Может, Вы поставили в коде какой-то бесконечный цикл?

Сообщение от InTheTT Посмотреть сообщение
...хоть я и не начинаю грузить другую картинку пока не догрузилась предыдущая Мне нужно от этого зависания избавиться.
Мне кажется в этом месте алгоритма что-то не так. Что произойдёт, если первая картинка не загрузится вообще? всякие случаи бывают, то сервер перегружен, то вообще такой картинки на сервере нет... и ведь в этом случае у Вас остановится весь дальнейший процесс загрузки остальных картинок.
Но без образца кода дальше говорить об этом не стоит.
Ответить с цитированием
  #7 (permalink)  
Старый 09.12.2011, 13:26
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от InTheTT
Но браузер во время загрузки виснет, хоть я и не начинаю грузить другую картинку пока не догрузилась предыдущая Мне нужно от этого зависания избавиться.
не во время загрузки он виснет,а во время запроса-делать асинхронные запросы
Ответить с цитированием
  #8 (permalink)  
Старый 09.12.2011, 14:31
Интересующийся
Отправить личное сообщение для InTheTT Посмотреть профиль Найти все сообщения от InTheTT
 
Регистрация: 11.10.2011
Сообщений: 13

Нет, с алгоритмом все правильно. В любом случае всем спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прокрутка изображений gen552 Элементы интерфейса 6 01.04.2011 13:11
Получение ответа сервера раньше браузера. alexandre AJAX и COMET 4 13.11.2010 15:57
Переодическое получение ответа от сервера demoniqus AJAX и COMET 6 22.06.2010 16:09
Ответ сервера в плугине ajaxForm отдается неправильно. IgorOk jQuery 11 13.12.2009 04:35
передача массива с сервера subaru Общие вопросы Javascript 3 02.07.2008 19:57