Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
Раньше мы редко обращали внимание на эту проблему, пока наш технический менеджер не попросил нас изменить структуру. Почему из-за проблем с кэшированием исходный проект использовал номер версии в качестве основы для обновления? Поскольку в официальном аккаунте WeChat есть такой механизм, если версия хорошая, иногда ее невозможно обновить вовремя, поэтому используется vue.js, потому что в нем есть такая функция, что если данные в определенном файле изменяются, то vue. js соответствующим образом изменит имя файла, поэтому содержимое кеша больше не будет использоваться. Таким образом, его можно будет вовремя обновить и запросить данные в фоновом режиме.
Я никогда раньше не описывал JS-метод очистки кэша браузера, поэтому подведу итог сегодня.
Кэш браузера, иногда он нам нужен, потому что он может улучшить производительность веб-сайта и скорость браузера, а также повысить производительность веб-сайта. Но иногда нам приходится очищать кеш, поскольку с кешем могут возникнуть проблемы и могут появиться некоторые ошибочные данные. Например, стоковые сайты обновляются в режиме реального времени. Такие сайты не нужно кэшировать. Некоторые сайты обновляются редко, поэтому лучше иметь кеш. Сегодня мы в основном представляем несколько методов очистки кэша.
Несколько способов очистить кэш сайта
метаметод
<META HTTP-EQUIV="pragma" CONTENT="no-cache"> // CONTENT="no-cache" Очистить кэш <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> // CONTENT="no-cache" Очистить кэш <META HTTP-EQUIV="expires" CONTENT="0">
Очистите временный кеш формы Способ 1. Используйте ajax для запроса последнего файла с сервера и добавьте заголовки запроса If-Modified-Since и Cache-Control следующим образом:
$.ajax({
url:'www.haorooms.com', dataType:'json', data:{}, beforeSend :function(xmlHttp){ xmlHttp.setRequestHeader("If-Modified-Since","0"); xmlHttp.setRequestHeader("Cache-Control","no-cache"); }, success:function(response){ //работаем } async:false });async:false Загружать ли асинхронно.
Второй способ: напрямую использовать кэш: false,
$.ajax({
url:'www.haorooms.com', dataType:'json', data:{}, cache:false, ifModified :true , success:function(response){ //работаем } async:false });
В то же время, введение в кэш в ajax
кеш в ajax
Если это правда, кэш будет прочитан и может быть отправлен на сервер.
Если вы посетили a.html в последний раз, вы получите результат a.html при последнем посещении его во второй раз, вместо того, чтобы получать его снова с сервера.
Если значение равно false, к URL-адресу будет добавлен суффикс времени, и он будет отправлен на сервер для получения результата.
Кэш действителен только в режиме GET. Если это правда, кэш будет прочитан и может быть отправлен на сервер.
Если вы посетили a.html в последний раз, вы получите результат a.html при последнем посещении его во второй раз, вместо того, чтобы получать его снова с сервера.
Если значение равно false, к URL-адресу будет добавлен суффикс времени, и он будет отправлен на сервер для получения результата.
Кэш действителен только в режиме GET.
Способ 3. Используйте случайные числа. Случайные числа также являются очень хорошим способом избежать кеширования.
URL Добавить после параметра "?ran=" + Math.random(); //Конечно, параметры здесь ран можно брать по желанию eg: <script> document.write("<s"+"cript type='text/javascript' src='/js/test.js?"+Math.random()+"'></scr"+"ipt>"); </script> Другие похожи, просто добавьте +Math.random() после адреса. Примечание. Потому что Math.random() Только в Javascript Он работает, поэтому его можно вызвать только через Javascript.
Если вы используете метод случайных чисел, вы не сможете насладиться быстрым эффектом кэширования, поэтому лучше всего делать это только при обновлении файла. Увеличение случайного числа просто устраняет необходимость в кэшировании.
Способ 4. Используйте случайное время, такое же, как и случайные числа.
существовать URL Добавить после параметра "?timestamp=" + new Date().getTime();
用PHPОчистка серверной части
существовать服务端加 header("Cache-Control: no-cache, must-revalidate"); и т. д. (например, в php)
Способ пятый:
5、window.location.replace("WebForm1.aspx");
Параметр — это страница, которую вы хотите охватить. Принцип замены заключается в замене страницы, указанной параметром replace, текущей страницей.
Это не позволяет пользователю нажать клавишу «Назад». Используется JavaScript-скрипт, например:
a.html
Вот цитата:
<html> <head> <title>a</title> <script language="javascript"> function jump(){ window.location.replace("b.html"); } </script> </head> <body> <a href="javascript:jump()">b</a> </body> </html> b.html Вот цитата: <html> <head> <title>b</title> <script language="javascript"> function jump(){ window.location.replace("a.html"); } </script> </head> <body> <a href="javascript:jump()">a</a> </body> </html>
Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/161105.html Исходная ссылка: https://javaforall.cn