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

Тема в разделе "HTML, CSS, XML, JavaScript", создана пользователем Temir, 10 фев 2007.

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

    Temir Гость

    Здравствуйте Уважаемые!

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

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

    Нашел такой код:
    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 Гость

    Для: Temir

    Нет

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

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

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

    Эта функция
    Код (Text):
    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 Гость

    <script type="text/javascript">

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

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

    ...
    </script>
     
  4. Artexoid

    Artexoid Гость

    Для: mariner

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

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