Действительно ли возможно перезагрузить изображение с идентичным именем файла от сервера, используя jQuery?
Например, у меня есть изображение на странице, однако, физическое изображение может измениться на основе пользовательских действий. Отметьте, это не означает изменений имени файла, но самого фактического файла.
т.е.:
Независимо от того, как часто ниже называют кодекс, та же проблема сохраняется.
$("#myimg").attr("src", "/myimg.jpg");
В документации jQuery функция «груза» была бы прекрасна, если бы у нее был метод по умолчанию увольнения события в противоположность закреплению функции обратного вызова к успешному/полному грузу элемента.
Любая помощь значительно ценится.
Похоже, это ваш браузер, кэширующий образ (который я сейчас замечаю, как вы написали на своем вопросе). Вы можете заставить браузер перезагрузить изображение, передавая дополнительную переменную, как так:
d = new Date();
$("#myimg").attr("src", "/myimg.jpg?"+d.getTime());
Это может быть одна из двух проблем, которые вы упоминаете о себе Отказ
, чтобы быть честным, я думаю, что это номер два. Было бы намного проще, если бы мы могли видеть еще немного jQuery. Но для начала попробуйте сначала удалить атрибут, а затем снова установите его. Просто чтобы посмотреть, поможет ли это:
$("#myimg").removeAttr("src").attr("src", "/myimg.jpg");
Даже если это работает, опубликовать какой-нибудь код, так как это не оптимально, IMO: -)
-121--573890-Это, вероятно, не самый лучший способ, но я решил эту проблему в прошлом, просто добавив временную точку отметки к URL-адресу изображений с помощью JavaScript:
$("#myimg").attr("src", "/myimg.jpg?timestamp=" + new Date().getTime());
в следующий раз, когда он загружает, Timestamp Установите на текущее время и URL отличается, поэтому браузер делает получение для изображения вместо использования кэшированной версии.
Это может быть одним из двух проблем, которые вы упоминаете о себе.
, чтобы быть честным, я думаю, что это номер два. Было бы намного проще, если бы мы могли видеть еще немного jQuery. Но для начала попробуйте сначала удалить атрибут, а затем снова установите его. Просто чтобы посмотреть, поможет ли это:
$("#myimg").removeAttr("src").attr("src", "/myimg.jpg");
Даже если это работает, опубликовать какой-нибудь код, поскольку это не оптимально, IMO: -)
Вы пытались сбросить контейнеры изображения HTML. Конечно, если это браузер, который кэширует, это не поможет.
function imageUploadComplete () {
$("#image_container").html("<img src='" + newImageUrl + "'>");
}