1.使用meta标签设置缓存机制,在head 设置 meta

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />

详解:
Cache-Control头域
Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。各个消息中的指令含义如下
Public指示响应可被任何缓存区缓存
Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效
no-cache指示请求或响应消息不能缓存
no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。
max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应
min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应
max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。
,pragma与no-cache用于定义页面缓存,不缓存页面(为了提高速度一些浏览器会缓存浏览者浏览过的页面,通过下面的定义,浏览器一般不会缓存页面,而且浏览器无法脱机浏览.)
,常见的取值有private、no-cache、max-age、must-revalidate等,默认为private,其作用根据不同的重新浏览方式分为以下几种情况:
1) 打开新窗口 值为private、no-cache、must-revalidate,那么打开新窗口访问时都会重新访问服务器。 而如果指定了max-age值,那么在此值内的时间里就不会重新访问服务器,例如: Cache-control: max-age=5(表示当访问此网页后的5秒内再次访问不会去服务器)
2) 在地址栏回车 值为private或must-revalidate则只有第一次访问时会访问服务器,以后就不再访问。 值为no-cache,那么每次都会访问。 值为max-age,则在过期之前不会重复访问。
3) 按后退按扭 值为private、must-revalidate、max-age,则不会重访问, 值为no-cache,则每次都重复访问
4) 按刷新按扭 无论为何值,都会重复访问 Cache-control值为“no-cache”时,访问此页面不会在Internet临时文件夹留下页面备份。
,指定Expires值为一个早已过去的时间,那么访问此网时若重复在地址栏按回车,那么每次都会重复访问: Expires: Fri, 31 Dec 1999 16:00:00 GMT 比如:禁止页面在IE中缓存 http响应消息头部设置: CacheControl = no-cache Pragma=no-cache Expires = -1 Expires是个好东东,如果服务器上的网页经常变化,就把它设置为0,表示立即过期

2.在引用css,js等文件的语句后面加上一个版本号或者不同的参数,就可以有效防止浏览器一直使用缓存中的css,js,然每次加载的都是不同名称的文件,v后面的数字也可以是随机生成。

<link href="css/demo.css?v=202003041049" rel="stylesheet">

3.在URL后面添加随机参数,来辨别是不同的网址页面 这样每次访问的都是不同的链接

window.location='xxx.html?_r='+Math.random();

解决浏览器缓存问题的三个解决方法相关推荐

  1. 给url添加时间戳,解决浏览器缓存

    //解决浏览器缓存function timestamp(url){// var getTimestamp=Math.random();var getTimestamp=new Date().getTi ...

  2. 给js加版本号解决浏览器缓存问题

    给js加版本号解决浏览器缓存问题 参考文章: (1)给js加版本号解决浏览器缓存问题 (2)https://www.cnblogs.com/wblx/p/11050498.html 备忘一下.

  3. nginx配置静态资源,重新发布后,浏览器缓存导致异常原因和解决

    原因: nginx作为静态资源服务器,重新构建后发生浏览器页面直接取缓存中的js等文件名,但是由于服务器中文件已经被替换导致出现异常. 浏览器在下次请求这个资源的时候不会将请求发向后端,而是直接从缓存 ...

  4. 前端页面更新,解决浏览器缓存不更新问题

    问题 在写静态网站的时候,经常回面临某些页面上传更新后,查看时会出现没有更新的清空,就是因为浏览器读取了缓存造成的,需要清空缓存刷新才可以看到页面的更新,但是有些用户不知道这些操作.就很头痛 浏览器缓 ...

  5. Angular 解决浏览器缓存 快捷犀利之招

    相信大家一定遇到过,我们开发的Web APP  编译部署上去之后,用户端并未看到更新的程序,需要刷新浏览器才能看到我们新增加的功能.这里,背后的原因就浏览器在背后偷偷地帮我们缓存了一些东西,比如常用的 ...

  6. vue项目 如何解决浏览器缓存问题

    目录 1.什么是浏览器缓存 2.浏览器缓存类型 3.浏览器缓存的优势与劣势 4. 浏览器缓存机制 5.如何清除浏览器缓存 在代码更新发布后,都会要求运营人员在访问网址时清除下本地缓存,防止万一掉坑 那 ...

  7. 前端构建工具-gulp !(解决浏览器缓存问题)

    一,为啥要用构建工具 项目中的js和css属于静态文件,客户端第一次访问的时候会缓存这些文件,那就意味着当我们需要改js跟css的时候,即使我们将文件中的代码改了重新发布,那么客户端也是看不到,客户端 ...

  8. 清除浏览器缓存js文件的几种方法

    关于浏览器缓存 浏览器缓存,有时候我们需要他,因为他可以提高网站性能和浏览器速度,提高网站性能.但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些错误的数据.像股票类网站实时更新等,这样的网站 ...

  9. 解决微信内置浏览器缓存问题的三个方法

    方法1--在代码头部加以下meta标签 <meta http-equiv="Cache-Control" content="no-cache, no-store, ...

最新文章

  1. 【微服务架构】SpringCloud使用Ribbon实现负载均衡
  2. NCBI下载SRA数据的4种方法
  3. 基于多特征地图和深度学习的实时交通场景分割
  4. DropDownList动态添加新项并位于第一项 ASP.NET控件应用
  5. Codeforces 861 B Which floor? 思维
  6. 梁胜:开源是最好的商业模式
  7. RocketMQ源码解析-Broker的消息存储
  8. JqueryUI-1
  9. 机器学习算法之手撕SVM-线性(理论)
  10. “互联网+”从业务本质重构业务形态
  11. mysql 5.6 在线DDL
  12. 广数系统加工中心编程_数控铣床与数控加工中心操作与编程
  13. 箭头小三角(向上或向下、两条边)--两种制作方法
  14. 离散帕斯瓦尔定理、帕斯瓦尔定理的证明
  15. 分别画出程序的软件流程图、NS图、PAD图; 程序
  16. 计算机组成原理笔记(王道考研) 第六章:总线
  17. Java #JDK下载以及环境配置
  18. OSPF特殊区域TOTAL STUB配置实验
  19. c语言中如果产量的隐藏类型是,如果随着产量的增加,生产函数首先表现出边际产量增加,然后表现出边际产量递减,那么相应的边际成本曲线将 答案:是U形的...
  20. Cannot overwrite File XXX/xxx/xx/x/x/x.xxx:Permission denied

热门文章

  1. 修复百度站内搜索不能搜索问题
  2. Git超详细学习笔记 手把手带你一步一步操作 -- 详细分析git 对象-域-分支以及github使用
  3. 【HTML】列表应用
  4. 在线表单信息收集+word模板展示信息(excel收集信息word打印)Excel一行或者多行信息导入word打印
  5. scp can't be established. 的问题
  6. Verilog 参数化设计
  7. 父母对儿子结婚女儿出嫁的忠告
  8. Python学习日记-13-文件操作
  9. TypeScript 中的 export 和 import
  10. 论文超详细精读|八千字:AS-GCN