假设有一个js文件(以jquery为例),在服务器上的URL地址为:../js/jquery.js 。

当某天jquery版本更新了,用最新版的jquery文件覆盖了原来旧版的jquery文件。

这时,在打开引用了此js文件的网页时,有可能引用的还是旧版,这是因为浏览器有缓存,它缓存了旧版的jquery文件。

浏览器缓存文件是以完整的URL来缓存的,也就是说,当浏览器遇到一个与之前完全一致的URL请求时,就有可能使用之前缓存下来的文件,而不是向服务器去请求文件。当然,缓存是有时效的,超过了一定的时间后,缓存将会消失。

既然是以完整的URL来缓存文件的,那么我们就可以使用不同的文件名来访问更新后的文件。

一种解决方法是,将版本号写在文件名里,比如,可将以上的jquery.js的文件名改为 jquery-3.3.0.js,其中,3.3.0就是jquery的版本号。在前端引用时,就这样写:

<script src="../js/jquery-3.3.0.js"></script>

当某天jquery的版本更新为3.3.1了,我们就将文件名修改为jquery-3.3.1。前端引用的代号同时修改为:

<script src="../js/jquery-3.3.1.js"></script>

另一种解决方法是,不修改文件名,而是将版本号放在URL的query参数里,比如这样写:

<script src="../js/jquery.js?ver=3.3.0"></script>

其中ver=3.3.0就是版本号。当jquery的版本号更新为3.3.1之后,就改写为这样:

<script src="../js/jquery.js?ver=3.3.1"></script>

最新文章

  1. Hibernate与Mybatis的概念区别
  2. 【iCore3 双核心板】例程十四:FATFS实验——文件操作
  3. 泛型委托 Predicate/Func/Action
  4. find grep 组合使用
  5. Maven3.x 插件开发入门
  6. mysql5.5.x升级到mysql5.6.x
  7. php输出utf-8格式
  8. Linux命令(6):mv命令
  9. bzoj2741【FOTILE模拟赛】L
  10. redsocks 设置全局代理
  11. javascript之Style物
  12. 批量删除ASP.NET中的缓存(cache)
  13. KingbaseES的DBLink创建
  14. 学习 ES6,一篇文章就够了
  15. RabbitMQ入门-高效的Work模式
  16. [物理学与PDEs]第1章第7节 媒质中的 Maxwell 方程组 7.3 媒质中电磁场量的表示
  17. Docker入门 - 003 Docker 实例
  18. 【lintcode13】字符串查找
  19. caffe中在某一层获得迭代次数的方法以及caffe编译时报错 error: &#39;to_string&#39; is not a member of &#39;std&#39;解决方法
  20. LVS+Keepalived高可用部署

热门文章

  1. UC 优视发布“UC+”开放平台
  2. (Stanford CS224d) Deep Learning and NLP课程笔记(一):Deep NLP
  3. 最好的原型和流程图绘制工具:OmniGraffle_交互设计
  4. 结合java的反射和泛型性质简化JDBC和相应的同步等服务器数据库操作代码
  5. nginx部署及简单优化
  6. Java实例---简单的个人管理系统
  7. 二、并行编程 - Task任务
  8. 9、Node.js Stream(流)
  9. VM安装CentOs7虚拟机后无法上网之解决方法
  10. 关于numpy mean函数的axis参数