Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Принудительно обновить кэш браузера


Recommended Posts

Клиент переехал на новую версию движка.
Но в кэше браузера естественно остались файлы от старой версии (мало времени прошло с последнего посещения).
Естественно при открытии сайта все расползлось.
А еще клиент был в дороге и смотрел с мобилы (Ctrl-F5 не нажмешь).
А еще ОН (клиент) - это ОНА, со всеми вытекающими.
Пришлось отсылать скрины как чистить кэш браузера.
Потом она заявила, что дескать старые клиенты (читай клиентки, сайт - магазин косметики) тоже зайдя на страницы ужаснутся и больше не придут, поскольку им (крашеным блондинкам) невдомек почему это случилось и как исправить подобное самостоятельно, ибо они вашпе не знают об такой операции.

Можно ли как-то заставить сайт денек-другой принудительно обновлять кэш браузера?
Знаю что костыль, но им же не докажешь!
Смотрел в сторону location.reload(true), но хочется сделать это грамотно.

Может есть более-менее красивое решение?

Надіслати
Поділитися на інших сайтах

Хм...
Как вариант можно временно использовать конструкции типа:

<link rel="stylesheet" type="text/css" href="/css/file.css?v=<?php echo rand(1000,10000) ?>">

Тоже костыль, но все же не полный релоад страницы.

Надіслати
Поділитися на інших сайтах

Можно к css и js добавить версию.

<script type="text/javascript" src="myscript.js?v=3.0"></script>

 

 

Надіслати
Поділитися на інших сайтах

1 минуту назад, Wild сказал:

Как вариант можно временно использовать конструкции типа:

тогда он будет каждый раз грузить, в результате кэширование браузера до лампочки.

Надіслати
Поділитися на інших сайтах

https://habr.com/post/62844/

 

17 минут назад, Wild сказал:

Можно ли как-то заставить сайт денек-другой принудительно обновлять кэш браузера?

Cache-Control: max-age=86400

Надіслати
Поділитися на інших сайтах

3 минуты назад, ibond сказал:

тогда он будет каждый раз грузить, в результате кэширование браузера до лампочки.

Я понял.
Еще варианты есть?
Покрасивше.
Я в душе перфекционист.

Надіслати
Поділитися на інших сайтах

1 минуту назад, Wild сказал:

Еще варианты есть?

Добавить размер файла.

<script type='text/javascript' src='path/to/file/mylibrary.js?v=<?=filesize('path/to/file/mylibrary.js')?>'></script>

 

Надіслати
Поділитися на інших сайтах

23 минуты назад, ibond сказал:

Можно к css и js добавить версию.


<script type="text/javascript" src="myscript.js?v=3.0"></script>

 

 

Это статика, т.е нужно где-то менять версию, мало того
это было бы неплохо делать в getScript, getStyle


 

Надіслати
Поділитися на інших сайтах

33 минуты назад, chukcha сказал:

Это статика, т.е нужно где-то менять версию, мало того
это было бы неплохо делать в getScript, getStyle


Согласен, но если честно, то лениво перекапывать все модули и модификаторы.
Пока попробовал тупо header.
Пусть потестит, дальше будет видно.

Надіслати
Поділитися на інших сайтах

54 минуты назад, AlexDW сказал:

 

лучше не размер, а дату изменения filemtime

размер-то может и не измениться

был 1 проект, там поставили просто дату и время :-D:-D

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...
В 20.12.2018 в 15:58, ibond сказал:

Добавить размер файла.


<script type='text/javascript' src='path/to/file/mylibrary.js?v=<?=filesize('path/to/file/mylibrary.js')?>'></script>

 

Лучше добавить не filesize а filemtime, т.к. при правке файлов переодически заменяется несколько символов и в итоге размер файла остаётся неизменным, а время редактирования файла изменяется всегда. Таким образом можно получить стабильное обновление файла из кеша при любых изменениях

Надіслати
Поділитися на інших сайтах


5 часов назад, VitaliyCe сказал:

Лучше добавить не filesize а filemtime, т.к. при правке файлов переодически заменяется несколько символов и в итоге размер файла остаётся неизменным, а время редактирования файла изменяется всегда. Таким образом можно получить стабильное обновление файла из кеша при любых изменениях

 

Тему не читаете? Да, согласен, что перИдически заменяется несколько символов...

В 20.12.2018 в 13:03, AlexDW сказал:

лучше не размер, а дату изменения filemtime

 

Надіслати
Поділитися на інших сайтах

  • 1 year later...

Controller:
$cssfile = '/catalog/view/theme/' . $this->config->get('config_template') . '/stylesheet/stylesheet.css';
$data['cssdate'] = date ("igdmy", filemtime($cssFile));

tvig Header:
<link rel="stylesheet" href="catalog/view/theme/theme/stylesheet/stylesheet.css?v={{ cssdate }}" media="screen" />

Надіслати
Поділитися на інших сайтах


  • 6 months later...
В 28.06.2020 в 13:33, mslastyon сказал:

Controller:
$cssfile = '/catalog/view/theme/' . $this->config->get('config_template') . '/stylesheet/stylesheet.css';
$data['cssdate'] = date ("igdmy", filemtime($cssFile));

tvig Header:
<link rel="stylesheet" href="catalog/view/theme/theme/stylesheet/stylesheet.css?v={{ cssdate }}" media="screen" />

 

Что то у меня не меняется 

и так пишет

stylesheet/stylesheet.css?v={{%20cssdate%20}}

Надіслати
Поділитися на інших сайтах


В 01.01.2019 в 07:55, VitaliyCe сказал:

Лучше добавить не filesize а filemtime

 

Здравствуйте.

Сделал так , при загрезке пишется пишутся числа , файл изменил , но при загрузке пишутся одинаковіе числа

<script type='text/javascript' src='path/to/file/mylibrary.js?v=<?=filemtime('path/to/file/mylibrary.js')?>'></script>
Надіслати
Поділитися на інших сайтах


  • 5 months later...
1 час назад, Tobolskiy сказал:

всем привет. а на 2.3 кто то делал подобное?

А какая разница? В контроллере одинаково, в шаблоне вместо {{ cssdate }} сделать <?php echo $cssdate; ?>
 

Надіслати
Поділитися на інших сайтах


52 минуты назад, Shureg сказал:

А какая разница? В контроллере одинаково, в шаблоне вместо {{ cssdate }} сделать <?php echo $cssdate; ?>
 

в целом да, глянул на код, вы правы. спасибо

Надіслати
Поділитися на інших сайтах


  • 2 years later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.