Существует ли способ вызвать браузеры к обновлению/образам загрузки?

Если другая функция должна использовать переменную, Вы передаете ее функции как аргумент.

Также глобальные переменные не являются по сути противными и злыми. Пока они используются правильно нет никакой проблемы с ними.

42
задан Guillermo Gutiérrez 5 June 2013 в 20:37
поделиться

5 ответов

Добавьте строку запроса с произвольным уникальным номером (или временем, или номером версии и т. Д.):

<img src="image.png?80172489074" alt="a cool image" />

Это приведет к новый запрос из-за другого URL.

117
ответ дан 26 November 2019 в 23:16
поделиться

Это сложно. Вы действительно хотите, чтобы изображения кэшировались, но тогда вы не хотите кэшировать их, когда появятся новые:

  • Использование заголовка expires с датой в прошлом предотвращает любое кеширование. Плохо
  • Добавление параметра «очистки кеша» 342038402 может решить проблему, но также может предотвратить кэширование изображения, что вам не нужно. Плохо.
  • Использование заголовка expires с коротким (скажем, 1 час) сроком действия лучше ... через час пользователь увидит изображение, но вашему веб-серверу не нужно будет обслуживать его каждый раз. Компромисс, а какое время работает? Не совсем осуществимо.

Решение? Я могу придумать два хороших варианта:

  • Изучите eTags и свою способность их использовать. Они предназначены для этой ситуации. Браузер явно спросит ваш сервер, актуален ли файл или нет. Вы можете просто включить это в apache, если у вас его сейчас нет.
  • Создайте новый URL-адрес для каждого нового изображения (и используйте заголовок с истечением срока действия в далеком будущем). Это то, над чем вы работаете.
21
ответ дан 26 November 2019 в 23:16
поделиться

Вы можете поместить http-Equiv в , который укажет браузеру не использовать кеш (или, что еще лучше, использовать его определенным образом), но лучше настроить сервер на отправку правильных заголовков http cache .

4
ответ дан 26 November 2019 в 23:16
поделиться

вы можете управлять поведением кеша, играя с заголовками HTTP.

установка заголовка expires в прошлом заставит браузер не использовать кэшированную версию.

Expires: Sat, 26 Jul 1997 05:00:00 GMT

Вы можете обратиться к ] RFC , чтобы получить более подробную информацию.

2
ответ дан 26 November 2019 в 23:16
поделиться

Если вы посмотрите на данные, которыми обмениваются ваш браузер и сервер, вы увидите, что браузер отправляет HTTP-запрос HEAD для изображений. Результат будет содержать время модификации (но не фактические данные изображения). Убедитесь, что это время изменилось, если изображение изменилось на сервере и браузер должен снова загрузить изображение.

1
ответ дан 26 November 2019 в 23:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: