Как удалять файлы кэша каждый раз, когда пользователь заходит на мой сайт с iOS 'Safari? - PullRequest
0 голосов
/ 26 марта 2020

Я довольно новичок в веб-разработке, недавно я сделал простой веб-сайт, не используя никаких фреймворков. Я стараюсь следовать «Адаптивному веб-дизайну», чтобы сделать мой сайт мобильным. Я тестировал свой веб-сайт на нескольких устройствах, таких как: Рабочий стол (Firefox и Chrome) и Мобильный (iOS Safari), однако было время, после редактирования моих файлов CSS правила CSS неправильно загружен, поэтому мои предполагаемые стили для мобильного веб-сайта не были применены к тегам HTML.

Я нашел решение этой проблемы, которое заключалось в удалении всех кэшей веб-сайта на устройстве iOS, после того, как я это сделал, снова получил доступ к веб-сайту, и веб-сайт отображался так, как предполагалось.

Можно ли каким-либо образом удалить / обновить sh кэши, сохраненные для моего веб-сайта на устройстве? Заранее спасибо!

1 Ответ

0 голосов
/ 26 марта 2020

Самый простой способ - добавить параметры запроса в файл. Что в принципе выглядело бы примерно так

<script src="/path/to/your-script.js?v=1.0.01"></script>

Вы можете сделать то же самое со всеми вашими файлами * stati c (CSS, JS, изображения). Каждый раз, когда вы изменяете значение «v», это заставляет Safari повторно загружать файл. Это скорее рабочий взлом, чтобы заставить пользователей загружать новую версию файлов stati c.

В конечном итоге на сервере разработки вы хотите отключить кэширование в браузере с заголовками, приходящими с вашего сервера (будь то Apache, Nginx или что-то еще). Safari уважает их.

Если вы используете PHP, чтобы выплюнуть HTML, вы можете использовать следующий код, чтобы убедиться, что у вас всегда есть динамические c переменные

<script src="/path/to/your-script.js?js=<?= time(); ?>"></script>

Это в основном сделает недействительным кэш браузера каждую секунду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...