Загрузить и заменить изображение с тем же именем - проблема загрузки и кэширования изображения - PullRequest
3 голосов
/ 17 июля 2010

Я пытаюсь загрузить изображение с сервера (то же имя, но всегда новое изображение) в HTML-страницу - тег: #webCamStageImage. Пока что я могу загрузить изображение, но браузер не показывает мне новое изображение - я полагаю, это проблема кеширования - потому что когда я включаю «отключить WebCore Cache» в Safari, он работает.

Вот мой код:

setInterval(function()
{
  $("#webCamStageImage").attr({'src': "http://picture.jpg"});
}, 5000);

Как я могу изменить / добавить / обновить старое изображение?

1008 * Крис *

Ответы [ 2 ]

8 голосов
/ 17 июля 2010

Попробуйте использовать URL с прикрепленной к нему бессмысленной строкой запроса:

setInterval(function()
{
  $("#webCamStageImage").attr({'src': "http://picture.jpg?foo=" + new Date().getTime()});
}, 5000);

Браузер обрабатывает URL-адрес целом как имя кешируемой сущности, поэтому, заставляя вас думать, что вы запрашиваете у сервера что-то другое (что на самом деле может быть). Сервер не будет обращать внимания на строку запроса (если вы не знаете иначе ...).

1 голос
/ 17 июля 2010

Попробуйте добавить случайное значение к значению строки запроса, чтобы избежать кеширования:

var randNum = Math.floor(Math.random() 999 + 1);
setInterval(function()
{
  $("#webCamStageImage").attr({'src': "http://picture.jpg?rand=" + randNum});
}, 5000);
...