>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Как обьяснить Firefox что картинка динамическая????? http://forum.mozilla-russia.org/viewtopic.php?id=46716 |
MrSkinner > 30-10-2010 04:02:02 |
в общем проблема в следующем если я пытаюсь пере-запросить картинку вот так Выделить код Код:<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 обновляет ее только один раз .... |
Lynn > 30-10-2010 15:38:55 |
Правильный вариант, научить скрипт code_image/index.php отдавать правильные заголовки запрещающие кеширование. |
MrSkinner > 30-10-2010 21:19:57 |
ну на счет случайных чисел идея была .. надеялся что есть какае-то деректива в тегах .... но ладно рандом так рандом. |
Shutnik > 30-10-2010 21:48:41 |
зависит от картинки, но скорее всего вариант с рандомом не самый удачный по тому, что кешировать ненужные данные смысла не имеет |
Lynn > 31-10-2010 02:23:21 |
MrSkinner |
MrSkinner > 31-10-2010 21:10:13 |
Я конечно понимаю что правильно это хорошо но вот что бы я не пробовал записывать в 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 и дримвивер явно меняют свое поведении а глубоко побаку! |
MrSkinner > 01-11-2010 00:53:56 |
в общем временно решил проблему так: Выделить код Код:<script type="text/javascript"> function refresh_security_code() { document.getElementById('security_code').src = 'http://localhost/code_image/index.php?' + Math.random(); } </script> если кто что присоветует по поводу заголовка то буду очень признателен ... |
Shutnik > 01-11-2010 09:32:25 |
вот пример картинки, тут код заголовков: Выделить код Код: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'); |