Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Cookie и пользователи (https://javascript.ru/forum/server/3571-cookie-i-polzovateli.html)

Mangoz 03.05.2009 23:41

Cookie и пользователи
 
На сервере имеется простой html файл. В нём прописан путь к картинке, которая лежит в этом же каталоге. Когда пользователи заходят на страницу первый раз - они видят эту картинку. Но когда я её меняю - у них остаётся старая картинка. Подскажите, какой код необходим, чтобы картинка обновлялась, желательно без запрета на удалиение куков при закрытии браузера!

Riim 04.05.2009 00:19

Можно meta тегами объяснять браузеру как он должен кэшировать:
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Cache-Control" content="no-cache" />

http://webanatomy.narod.ru/html/html1.html

Можно еще на сервере no-cache прописать. Я не знаю как для php. Для c# так:
Response.Cache.SetNoServerCaching();
Response.Cache.SetExpires(DateTime.Now.AddMinutes(-1));
Response.Cache.SetCacheability( HttpCacheability.NoCache);
Response.Cache.SetValidUntilExpires(false);

Ну и что бы совсем точно было, можно добавлять к url случайный параметр:
<img src="myimage.jpg?rand=<%= StringUtils.CreateRandomHex(10) %>" alt="" />

x-yuri 04.05.2009 02:27

Цитата:

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

Mangoz 04.05.2009 09:11

Мне надо html! Кароче код работает только в опере в папку Temporary Internet Files ничего не кидает - но картинка серовно не меняется! Захожу через IE закидывает сразу - картинку тоже не меняет!

Riim 04.05.2009 09:53

Цитата:

Сообщение от Mangoz
Кароче код работает только в

Ждите экстрасенсов и телепатов, которые догадаются, какой там у вас код.

Mangoz 04.05.2009 10:09

Цитата:

Сообщение от Riim (Сообщение 18143)
Ждите экстрасенсов и телепатов, которые догадаются, какой там у вас код.

<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Cache-Control" content="no-cache" />

Riim 04.05.2009 10:41

Тогда вам вероятно уже не помочь.

Kolyaj 04.05.2009 12:38

Цитата:

Сообщение от Mangoz
Кароче код работает только в опере в папку Temporary Internet Files ничего не кидает

А опера и не кидает туда ничего. Это ИЕшная папка.

Меняйте урл картинки. Единственное надежное решение.

Mangoz 04.05.2009 12:57

Что значит менять url можно поподробнее. пожалуйста

Kolyaj 04.05.2009 12:59

Одна картинка -- один src. Не надо показывать разные картинки на одном src.


Часовой пояс GMT +3, время: 23:46.