Ответ
Добавь timestamp или случайное число в параметр, чтобы избежать кеширования:
const img = document.getElementById('myImage');
img.src = `image.jpg?${Date.now()}`;
// Или с рандомным параметром
img.src = `image.jpg?v=${Math.random()}`;
Также можно использовать версионирование:
img.src = `image.jpg?v=1.2.3`;
Основные варианты:
?timestamp=123456789?v=randomNumber?version=1.0?nocache=true
Это заставляет браузер считать URL уникальным и запрашивать свежую версию.
Ответ 18+ 🔞
А, слушай, вот этот твой кеш браузерный — он же как упрямый мудак, который старую фотку из-под дивана достаёт, когда тебе уже новая нужна! Так вот, чтобы его обмануть, надо в ссылку на картинку какую-нибудь хуйню подсунуть, которая постоянно меняется.
Смотри, типа так:
const img = document.getElementById('myImage');
img.src = `image.jpg?${Date.now()}`;
// Или с рандомным параметром
img.src = `image.jpg?v=${Math.random()}`;
Видишь, в конец image.jpg я прикручиваю ? и текущее время в миллисекундах. Для браузера image.jpg?123456789 и image.jpg?987654321 — это две разные, ёпта, картинки! Он старую из кеша не вытащит, побежит новую качать. С Math.random() та же история, только там случайное число.
А ещё, если ты не полный распиздяй, можно версию прописать:
img.src = `image.jpg?v=1.2.3`;
Поменял версию в коде на v=2.0.0 — и все юзеры получат обновлённую картинку, потому что ссылка опять уникальная стала. Красота, блядь!
Короче, вариантов дохуя:
?timestamp=123456789?v=randomNumber?version=1.0?nocache=true
Суть одна: подкинуть браузеру любой пиздюльный параметр, который меняется, когда тебе надо. И всё, он послушно пойдёт на сервер, как хороший мальчик, а не будет тебе старое говно подсовывать.