1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Кэширование картинок. Javascript.

Тема в разделе "Web - программирование", создана пользователем Temir, 10 фев 2007.

Статус темы:
Закрыта.
  1. Temir

    Temir Гость

    Репутация:
    0
    Здравствуйте Уважаемые!

    Вопрос такого плана:
    я хочу реализовать кэширование картинок при загрузке. Т.е. при заходе на сайт, необходимые изображения записываются в массив, хранимый в памяти компьютера пользователя.В таком случае при загрузке другой страницы эти картинки уже не будут подгружаться с сервера.

    Возможно ли такое вообще? или все уже реализовано кэшем браузера.

    Нашел такой код:
    function MM_preloadImages() {
    var d=document;
    if(d.images) {
    if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments;
    for(i=0; i<a.length; i++)
    if (a.indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a;}
    }
    }

    Решает ли он данную проблему или это вообще не то... Если то, можно ли пояснить механизм работы данного скрипта.
    Спасибо.
     
  2. Artexoid

    Artexoid Гость

    Репутация:
    0
    Для: Temir

    Нет

    Начнём с того что почти 100% сайтов присылают браузеру вот такую штуку:

    Код:
    <meta http-equiv="Cache-Control" content="no-cache"> 
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    Эти заголовки запрещают браузеру кешировать!!! При переходе на другую страницу все картинки загрузятся вновь.

    Само кэширование обусловлено самим браузером. Почти у всех браузерах есть такая удобная ф-ция "Кешировать картинки". Если пользователь её включает, браузер начинает себя вести именно так как Вы описали!!

    Эта функция
    Код:
    function MM_preloadImages()
    { 
    var d=document;
    if(d.images) 
    {
    if(!d.MM_p) 
    d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments;
    for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0)
    { 
    d.MM_p[j]=new Image; 
    d.MM_p[j++].src=a[i];
    }
    }
    }
    полезна в случае если у вас на странице активные картинки. То есть при наведении на картинку она меняется ну или в подобных случаях... Она выполняет подгрузку картинок еще до их использования. Но они лежат в кеше до перехода на другую страницу или обновления этой.!!!
     
  3. mariner

    mariner Гость

    Репутация:
    0
    <script type="text/javascript">

    pic1=new Image();
    pic1.src="/pics/image01.gif";

    pic2=new Image();
    pic2.src="/pics/image02.gif";

    ...
    </script>
     
  4. Artexoid

    Artexoid Гость

    Репутация:
    0
    Для: mariner

    Это тоже не решит. Я пробывал способов 6 (разными скриптами). В IE есть такой косяк. Он забывает смотреть в кешь и загружает картинки заново.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей