Что можно добавить в query string для обновления картинки

Ответ

Добавь 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

Суть одна: подкинуть браузеру любой пиздюльный параметр, который меняется, когда тебе надо. И всё, он послушно пойдёт на сервер, как хороший мальчик, а не будет тебе старое говно подсовывать.