修改JS或CSS后,浏览器无法自动刷新问题

问题描述

在整个代码的生命周期中,伴随着业务升级的同时,前端也会随之变更。为了提高用户易操作性和满意度的前提下,一定会修改前端的js、css等。但是如果仅仅修改js等的内容,发布完成后,在用户侧由于已经缓存了js等,导致出现无法使用最新js的情况。


解决方案:

为了解决浏览器缓存的问题。有以下三个方法:

  1. 禁用浏览器缓存。此方法不可取
  2. 修改js或css文件名称。
  3. 增加js或css的版本号。

第一个方法,是最不可取的方法,因为禁止前端全部静态资源的缓存后,会出现每次访问页面,都会重新加载js或css,这将大大影响访问速度,用户体验极差。
第二个方法,不推荐使用。因为每次修改文件名称,对于文件版本管理不利。
第三个方法,推荐使用。在每次修改完成后,增加版本号。在浏览器端,会进行判断,版本号与缓存不一致时,就会更新js或css。这样既保证了js或css实时更新,又极大的节省了其他未变更的访问速度。

<link rel = "stylesheet" href = "style.css?version=newVersion"/>


项目实际意义:

在项目实际开发过程中,可以采用以下方式解决缓存问题。

  1. 增加版本号的变量。将上述代码中的newVersion存储在项目中,可以是文件或者数据库内。
  2. 增加拦截器。每次访问的时候增加对newVersion的读取。
  3. 前端增加通用的头部。在通用头部内,newVersion作为变量,每次都能获取到最新的数据。这样发布后,就会根据最新的版本进行刷新。

通过上述方法,即可达成修改js或css后,浏览器实现自动刷新。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值