|

27.08.2018, 21:13
|
Профессор
|
|
Регистрация: 27.06.2016
Сообщений: 180
|
|
Смена src тега img
Доброго времени уважаемым гуру js.
Скажем есть тег img с неким src. Страница загружается, картинка браузером кэшируется. Далее программно заменяем scr на другую картинку. Понятно, что при перезагрузке, появится новая картинка. А можно ли заставить движок заменить картинку из кэша на новую без перезагрузки страницы?
|
|

27.08.2018, 21:31
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,136
|
|
atanov,
localStorage
|
|

27.08.2018, 21:39
|
Профессор
|
|
Регистрация: 27.06.2016
Сообщений: 180
|
|
|
|

27.08.2018, 21:53
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,136
|
|
atanov,
а макет?
|
|

27.08.2018, 22:09
|
 |
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
Я так понял заменяете вы на сервере?
Тогда:
img.src = img.src.replace(/(?:\?.*)?$/, '?' + +new Date);
Если сервер посылает заголовки no-cache, то и просто
img.src = img.src;
должно сработать.
__________________
29375, 35
|
|

27.08.2018, 22:19
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,136
|
|
 видимо я неправильно понял вопрос.
|
|

27.08.2018, 22:42
|
 |
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
рони, а может и я, кто знает... 
__________________
29375, 35
|
|

27.08.2018, 23:34
|
 |
Профессор
|
|
Регистрация: 01.12.2016
Сообщений: 3,650
|
|
<img src="https://javascript.ru/forum/image.php?u=4993&dateline=1299014303" alt="" id='img'>
<button id="btn">Нажми один раз</button>
<script>
btn.onclick = e => img.src = 'https://javascript.ru/forum/image.php?u=7416&dateline=1372796129';
</script>
|
|

28.08.2018, 10:04
|
Профессор
|
|
Регистрация: 27.06.2016
Сообщений: 180
|
|
Сообщение от Aetae
|
Я так понял заменяете вы на сервере?
Тогда:
img.src = img.src.replace(/(?:\?.*)?$/, '?' + +new Date);
Если сервер посылает заголовки no-cache, то и просто
img.src = img.src;
должно сработать.
|
Да, заменяю картинку на сервере (или новую вставляю) ajax'ом + ещё изменяю информацию в бд. Далее возвращаю из бд уже изменённую инфу и json'ом отправляю обратно на клиент. json на клиенте распарсиваю и вставляю в соответствующие места, а src картинки просто подменяю. Вот в примере j0hnik это прекрасно работает, у меня только после перезагрузки 
|
|

28.08.2018, 10:10
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,136
|
|
atanov,
код Aetae, работает у вас? если нет, покажите
Сообщение от atanov
|
а src картинки просто подменяю.
|
|
|
|
|