Я ищу способ программно очистить кеш браузера. Я делаю это, потому что приложение кэширует конфиденциальные данные, и я хотел бы удалить их, когда вы нажмете «выйти». Это произойдет либо через сервер, либо через JavaScript. Конечно, использование программного обеспечения на чужом / общедоступном компьютере по-прежнему не рекомендуется, поскольку существует больше опасностей, таких как регистраторы ключей, которые вы просто не можете победить на программном уровне.
javascript
html
caching
browser
башня
источник
источник
Ответы:
Возможно, вы можете просто использовать jQuery для замены «метатега», который ссылается на статус кеша, на обработчик / кнопку события, а затем обновить, легко,
ПРИМЕЧАНИЕ. Это решение основывается на кэше приложений, который реализован как часть спецификации HTML 5. Также требуется конфигурация сервера для настройки манифеста App Cache. Он не описывает метод, с помощью которого можно очистить «традиционный» кеш браузера с помощью клиентского или серверного кода, что практически невозможно сделать.
источник
Браузер ни в коем случае не позволит вам очистить свой кеш. Если бы это было возможно, это было бы серьезной проблемой для безопасности. Этим можно очень легко злоупотребить - как только браузер поддерживает такую «функцию», я удалю ее со своего компьютера.
Что вы можете сделать, так это указать ему не кэшировать вашу страницу, отправив соответствующие заголовки или используя эти метатеги:
Вы также можете подумать об отключении автозаполнения в полях формы, хотя, боюсь, есть стандартный способ сделать это ( см. Этот вопрос ).
Тем не менее, я хотел бы отметить, что если вы работаете с конфиденциальными данными, вам следует использовать SSL. Если вы не используете SSL, любой, у кого есть доступ к сети, может прослушивать сетевой трафик и легко видеть, что видит ваш пользователь.
Использование SSL также заставляет некоторые браузеры не использовать кеширование, если это явно не указано. См. Этот вопрос .
источник
используйте сам html. Есть один прием, который можно использовать. Уловка состоит в том, чтобы добавить параметр / строку к имени файла в теге скрипта и изменить его при изменении файла.
<script src="myfile.js?version=1.0.0"></script>
Браузер интерпретирует всю строку как путь к файлу, даже если после символа "?" параметры. Итак, теперь происходит следующее: в следующий раз, когда вы обновляете файл, просто измените номер в теге скрипта на своем веб-сайте (пример
<script src="myfile.js?version=1.0.1"></script>
), и каждый пользовательский браузер увидит, что файл был изменен, и получит новую копию.источник
ctime
, (илиmtime
), вы можете просто добавить указанное время за ним. Например, в php,,myfile.js?v=<?=filectime('myfile.js');?>
и у вас есть кеш автоматического обновления для ваших ресурсов.Лучшая идея - создать файл js с именем + некоторый хеш с версией, если вам нужно очистить кеш, просто сгенерируйте новые файлы с новым хешем, это заставит браузер загружать новые файлы
источник
Сначала я пробовал различные программные подходы в своем html, JS для очистки кеша браузера. В последней версии Chrome ничего не работает.
В итоге я получил .htaccess:
Протестировано в Chrome, Firefox, Opera
Ссылка: https://wp-mix.com/disable-caching-htaccess/
источник
location.reload (истина); будет жестко перезагружать текущую страницу, игнорируя кеш.
Cache.delete () также можно использовать для новых Chrome, Firefox и Opera.
источник
В Chrome вы сможете сделать это с помощью расширения для тестирования. Вам нужно запустить Chrome со следующими переключателями:
В консоли Chrome теперь вы можете делать следующее:
Как видно из приведенных выше команд, он не только очищает кеш браузера, но также очищает кеш DNS и закрывает сетевые подключения. Это замечательно, когда вы проводите сравнительный анализ времени загрузки страницы. Очевидно, что вам не обязательно использовать их все, если они не нужны (например, clearCache () должно хватить, если вам нужно только очистить кеш и не заботиться о кеше DNS и соединениях).
источник
источник
Теперь вы можете использовать Cache.delete ()
Пример:
Работает в Chrome 40+, Firefox 39+, Opera 27+ и Edge.
источник
Представьте себе
.js
файлы помещены в/my-site/some/path/ui/js/myfile.js
Обычно тег скрипта выглядит так:
Теперь измените это на:
Теперь, конечно, это не сработает. Чтобы он заработал, вам нужно добавить одну или несколько строк в вашу
.htaccess
Важную строку: (весь .htaccess внизу)Итак, что это делает, это как бы удаляет
1111111111
из пути и ссылается на правильный путь.Итак, теперь, если вы внесете изменения, вам просто нужно изменить номер
1111111111
на любое число, которое вы хотите. И как бы вы ни включали свои файлы, вы можете установить это число с помощью метки времени, когда js-файл был последний раз изменен. Так что кеш будет нормально работать, если номер не изменится. Если он изменится, он будет обслуживать новый файл (ДА ВСЕГДА), потому что браузер получает полный новый URL-адрес и просто считает, что файл настолько новый, что он должен пойти и получить его.Вы можете использовать это для того
CSS
,favicons
что когда-либо будет кэшироваться. Для CSS просто используйте такИ будет работать! Легко обновлять, просто поддерживать.
Если у вас еще нет .htaccess, это минимум, который вам нужен:
источник