| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Экономная подзагрузка рисунков |
| Автор: Diesel Draft 20.11.2005, 17:03 | ||
| Короче надо реализовать один алгоритм. Все очень просто. У меня просто руки не доходят. Есть такой код
При нажатие на на ссылку, должен загружаться рисунок. Но если он раньше не загружался то надо его загрузить в кэш. В свою очередь, если он загружался раньше то забирать надо только из кэша. Но функция очень проста: Берем глобальный массив. Сама функция должна просто проверить, есть ли в массиве элемент рисунка с данным адресом. Если нет, то создаем и загружаем рисунок. Функция на 4 строчки. Помогите пожалуйста. А то у меня как то не получается. |
| Автор: Aliance 20.11.2005, 17:30 |
| Зачем такой изврат? Чем обычная предзагрузка не подходит? |
| Автор: Diesel Draft 20.11.2005, 17:46 |
| Нет. Я тоже так думал. Но если юзер не хочет смотреть эту фотографию. И мне и ему будет идти лишний трафик и час загрузки. |
| Автор: Sardar 21.11.2005, 19:18 |
| Diesel Draft нельзя из JS узнать есть ли определённый файл в кеше браузера (а зря...), браузер сам решит есть ли картинка в кеше и сделает всё как нужно без каких либо движений программиста. И это правильно Кешь не пашет как нужно если:
|
| Автор: sergejzr 21.11.2005, 19:31 |
| Diesel Draft, на каком языке пишем? Глянь ко мне в подпись, там проверялка орфографии. Этот я за тебя отредактировал... |
| Автор: Diesel Draft 22.11.2005, 02:10 | ||||||
Я плохо по руски пишу
действительно не надо. Мы загружаем его через обект image . А задача функци провереть загружалась ли даная картинка в даном сеансе (не перегружая страницу). У меня на www.avtobroker.org.ua когда смотриш рисунки не перегружая страничу. Но он загружает каждий раз когда я звертаюсь до нейц
Штобы фотка впервый раз загружалась в кеш, а потом только з него брало |
| Автор: Sardar 22.11.2005, 18:46 | ||
В скрипте используешь URL с параметром, значит браузер по дефолту отключает кеширование. Из своего скрипта отрылай pragma и прочие заголовки для явного включения кеша браузера, должно помочь. |
| Автор: Дрон 22.11.2005, 18:54 |
| Sardar Я не силён в js, но мне кажется он говорит не про кэш браузера, а про самодельный кэш. Т.е. имеется ввиду просто массив картинок, в который они помещаются при первом запросе и из которого они берутся при необходимости. |
| Автор: Гость_12345 22.11.2005, 19:59 | ||
Diesel Draft: надо создать хеш и работать с ним.
|
| Автор: Diesel Draft 22.11.2005, 23:42 |
| сенк зара попробую |
| Автор: Diesel Draft 23.11.2005, 00:17 |
| НЕработает а придумано правельно |
| Автор: Sardar 23.11.2005, 00:49 | ||
Не реально стандартными средствами, можно только массив картинок создать, что будут подгружаться "в фоне". Конечно если придумать чудо функцию, что с высокой точностью может предугадать когда понадобиться картинка, то можно сделать подзагрузку во времени, но ИМXО тут много граблей. Сам сижу на 1Мбс канале с безлимитным трафом (тут все так), как то не очень понимаю зачем экономить пару кб трафа по цене задержек при показе картинок... Главное помнить, что после перезагрузки страницы все картинки сгенерённые скриптами без установленных HTTP заголовков кеширования, будут загруженны опять. |
| Автор: Diesel Draft 27.11.2005, 00:35 |
| да, надо загружать в фон. Но только если до него звертаютса он должен переверить есть он в масиве или нет. Если нет то загрузить |
| Автор: Sardar 27.11.2005, 01:06 | ||
А в чём смысл? Всё равно же будет задержка + не нужные вычисления со списком. |
| Автор: Гость_12345 27.11.2005, 04:00 |
| Diesel Draft А почему не работает? Может, после Object и Image скобок ему не хватает? Остальное всё грамотно. |