Полезная информация

Юристы зарабатывают огромные деньги и славу, оперируя хорошим знанием законов. Правила форума — простой путь к успешному общению.

№130-10-2010 04:02:02

MrSkinner
Участник
 
Группа: Members
Зарегистрирован: 30-10-2010
Сообщений: 4
UA: Firefox 3.6

Как обьяснить Firefox что картинка динамическая?????

в общем проблема в следующем если я пытаюсь пере-запросить картинку вот так

Выделить код

Код:

<script type="text/javascript">
function refresh_security_code()
{
document.getElementById('security_code').innerHTML = '<img src="http://localhost/code_image/index.php" width="100" height="48" />';        
}
</script>

при этом Firefox обновляет ее только один раз ....
а в случае с кодом от спамеров не хотелось бы перезагружать всю страничку....
как это вылечить???? заранее спасибо!

Отсутствует

 

№230-10-2010 15:38:55

Lynn
Кофеман
 
Группа: Members
Откуда: Россия
Зарегистрирован: 16-02-2005
Сообщений: 1721
UA: Firefox 3.6
Веб-сайт

Re: Как обьяснить Firefox что картинка динамическая?????

Правильный вариант, научить скрипт code_image/index.php отдавать правильные заголовки запрещающие кеширование.
Альтернативный вариант, дописывать к адресу картинки случайное число, например текущее время в миллисекундах


Isn't it ironic... don't you think? — Alanis Morissette

Отсутствует

 

№330-10-2010 21:19:57

MrSkinner
Участник
 
Группа: Members
Зарегистрирован: 30-10-2010
Сообщений: 4
UA: Firefox 3.6

Re: Как обьяснить Firefox что картинка динамическая?????

ну на счет случайных чисел идея была .. надеялся что есть какае-то деректива в тегах .... но ладно рандом так рандом.

Отсутствует

 

№430-10-2010 21:48:41

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 3.6

Re: Как обьяснить Firefox что картинка динамическая?????

зависит от картинки, но скорее всего вариант с рандомом не самый удачный по тому, что кешировать ненужные данные смысла не имеет

Отсутствует

 

№531-10-2010 02:23:21

Lynn
Кофеман
 
Группа: Members
Откуда: Россия
Зарегистрирован: 16-02-2005
Сообщений: 1721
UA: Firefox 3.6
Веб-сайт

Re: Как обьяснить Firefox что картинка динамическая?????

MrSkinner
Правильный вариант, научить скрипт code_image/index.php отдавать правильные заголовки запрещающие кеширование.


Isn't it ironic... don't you think? — Alanis Morissette

Отсутствует

 

№631-10-2010 21:10:13

MrSkinner
Участник
 
Группа: Members
Зарегистрирован: 30-10-2010
Сообщений: 4
UA: Firefox 3.6

Re: Как обьяснить Firefox что картинка динамическая?????

Я конечно понимаю что правильно это хорошо но вот что бы я не пробовал записывать в header, firefox побаку и он все равно заносит картинку в кеш!

один из вариантов header

Выделить код

Код:

header ("Content-type: image/png");
header("Cache-Control: no-store"); 
header("Expires: " . date("r"));

Все статьи про запрет кеширования мне рассказывают именно про такой способ если знаете другой подскажите.

перепробовал все что было в мануале (RFC2616 - Hypertext Transfer Protocol -- HTTP/1.1)

Выделить код

Код:

Cache-Control   = "Cache-Control" ":" 1#cache-directive

    cache-directive = cache-request-directive
         | cache-response-directive

    cache-request-directive =
           "no-cache"                          ; Section 14.9.1
         | "no-store"                          ; Section 14.9.2
         | "max-age" "=" delta-seconds         ; Section 14.9.3, 14.9.4
         | "max-stale" [ "=" delta-seconds ]   ; Section 14.9.3
         | "min-fresh" "=" delta-seconds       ; Section 14.9.3
         | "no-transform"                      ; Section 14.9.5
         | "only-if-cached"                    ; Section 14.9.4
         | cache-extension                     ; Section 14.9.6

     cache-response-directive =
           "public"                               ; Section 14.9.1
         | "private" [ "=" <"> 1#field-name <"> ] ; Section 14.9.1
         | "no-cache" [ "=" <"> 1#field-name <"> ]; Section 14.9.1
         | "no-store"                             ; Section 14.9.2
         | "no-transform"                         ; Section 14.9.5
         | "must-revalidate"                      ; Section 14.9.4
         | "proxy-revalidate"                     ; Section 14.9.4
         | "max-age" "=" delta-seconds            ; Section 14.9.3
         | "s-maxage" "=" delta-seconds           ; Section 14.9.3
         | cache-extension                        ; Section 14.9.6

    cache-extension = token [ "=" ( token | quoted-string ) ]

IE и дримвивер явно меняют свое поведении а [firefox] глубоко побаку!

Отредактировано MrSkinner (01-11-2010 00:27:38)

Отсутствует

 

№701-11-2010 00:53:56

MrSkinner
Участник
 
Группа: Members
Зарегистрирован: 30-10-2010
Сообщений: 4
UA: Firefox 3.6

Re: Как обьяснить Firefox что картинка динамическая?????

в общем временно решил проблему так:

Выделить код

Код:

<script type="text/javascript">
function refresh_security_code()
{
document.getElementById('security_code').src = 'http://localhost/code_image/index.php?' + Math.random();    
}
</script>

если кто что присоветует по поводу заголовка то буду очень признателен ... :)

Отсутствует

 

№801-11-2010 09:32:25

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 3.6

Re: Как обьяснить Firefox что картинка динамическая?????

вот пример картинки, тут код заголовков:

Выделить код

Код:

header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
        header('Cache-Control: no-store, no-cache, must-revalidate');
        header('Cache-Control: post-check=0, pre-check=0', FALSE);
        header('Pragma: no-cache');

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]