JS 缓存的问题一直都是我们又爱又恨的东西。也是我们比较头痛的问题, 一方面为了提高网站响应速度,减少服务器的负担,和节省带宽,将需要将静态资源缓存在客户端, 但是另一方面,当js 文件有改动的时候,如何快速的将客户端缓存的js文件都失效,这是非常头痛的问题。 以至于每次客户反馈问题的时候,我们第一个解决办法都是清理浏览器缓存。

一、使用参数

第一、脚本并不存在,而是服务端动态生成的,因此带了个版本号,以示区别。 即上面代码对于文件来说 等价于 但浏览器会认为他是 该文件的某个版本!

第二、客户端会缓存这些css或js文件,因此每次升级了js或css文件后,改变版本号,客户端浏览器就会重新下载新的js或css文件 ,刷新缓存的作用。

第二种情况最多,也可能两种同时存在。

版本号,可以是一个随机数,也可以是一个递增的值,大版本小版本的方式,或者根据脚本的生成时间书写,比如就是精确到了生成脚本的秒,而 2.3.3 就是大版本小版本的方式。

二、清除浏览器缓存的几种方法

1. meta方法//不缓存

2. 清理form表单的临时缓存

其实form表单的缓存对于我们书写还是有帮助的,一般情况不建议清理,但是有时候为了安全问题等,需要清理一下!

3. jquery ajax清除浏览器缓存

方法一,用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

});

方法二,直接用cache:false,$.ajax({

url:'www.haorooms.com',

dataType:'json',

data:{},

cache:false,

ifModified :true ,

success:function(response){

//操作

}

async:false

});

方法三:用随机数,随机数也是避免缓存的一种很不错的方法!

URL 参数后加上 “?ran=” + Math.random(); //当然这里参数 ran可以任意取了

方法四:用随机时间,和随机数一样。

在 URL 参数后加上 “?timestamp=” + new Date().getTime();

4. 用php后端清理

在服务端加 header(“Cache-Control: no-cache, must-revalidate”);等等(如php中)

php清除手机浏览器缓存,js清除浏览器缓存的几种方法相关推荐

  1. 浏览器访问云服务器上图片的两种方法

    浏览器访问云服务器上图片的两种方法 1. Tomcat方式 打开tomcat的conf目录下配置文件server.xml 添加以下内容: <Context docBase="/home ...

  2. iOS: JS和Native交互的两种方法,iosjsnative交互

    iOS: JS和Native交互的两种方法,iosjsnative交互 背景: UIWebView: iOS 用来展示 web 端内容的控件. 1. 核心方法: - (NSString*)string ...

  3. js刷新页面有哪几种方法

    js刷新页面有哪几种方法 一.总结 一句话总结:location属性的reload方法即可:document.location.reload() 1.页面刷新有哪常见的8种方法? 1,history. ...

  4. js中当等于最小值是让代码不执行_网页中JS函数自动执行常用三种方法

    本文为大家分享了在网页中JS函数自动执行常用方法,供大家参考,具体内容如下 一.JS方法 1.最简单的调用方式,直接写到html的body标签里面: 2.在JS语句调用: function myfun ...

  5. 怎么卸载手机上下载的软件?苹果手机有两种方法

    怎么卸载手机上下载的软件?很多人会在手机上下载各种各样的软件,时间一长,小内存的手机无法储存这么多内容,建议大家定期将不需要的软件直接卸载,避免占用空间影响手机的使用.今天给大家分享一下卸载手机软件的 ...

  6. JS行间改变css的方法,js改变css样式的三种方法推荐

    共用代码: this is a div var div=document.getElementById('div'); 第一种:用cssText div.style.cssText='width:25 ...

  7. html 点击事件阻止冒泡,js阻止事件冒泡的两种方法

    本篇文章给大家分享的内容是关于js阻止事件冒泡的两种方法 ,有需要的朋友可以参考一下 一.冒泡事件简介 当我们点击一个控件的时候,如果包括这个控件的父控件也有click事件,则会继续执行. 方法一:e ...

  8. js实现阶乘算法的三种方法

    js实现阶乘算法的三种方法 // 非递归写法 function f(n) {if (0 === n) {return 1;}let res = 1;for (let i = 1; i <= n; ...

  9. js function定义函数的4种方法

    js function定义函数的4种方法 1.最基本的作为一个本本分分的函数声明使用. 复制代码代码如下: 复制代码代码如下: function func(){}  或  var func=funct ...

  10. JS区分中英文字符的两种方法

    JS区分中英文字符的两种方法: 正则和charCodeAt()方法. 正则无疑是最强大的判断各种条件的方法, 最近也在研习它, 虽然枯燥, 但仍有乐趣. 用它来判断一个双字节的中文字符也是轻而易举地. ...

最新文章

  1. 全球及中国甲苯甲酸行业投资决策与运营前景状况分析报告2022版
  2. vue axios拦截器的封装
  3. 一文掌握 Redis 常用知识点 | 图文结合
  4. 前端学习(205):animation动画库
  5. mysql 备份成文件的脚本_Mysql自动全量备份脚本
  6. c++十进制转二进制_二进制与十进制相互转换的原理
  7. [论文阅读] Tokens-to-Token ViT: Training Vision Transformers from Scratch on ImageNet
  8. 关于Jedis无法连接上Linux上Redis问题
  9. 大型网站架构系列:负载均衡详解
  10. Html导出到Word带页眉页脚
  11. Js逆向教程-09常见的加密方式
  12. 《MLB棒球创造营》:走近棒球运动·亚利桑那响尾蛇队
  13. 数据中台 第8章 数据资产管理
  14. 24C01SC芯片介绍
  15. Tensorflow2.0版本下如何实现Kronecker积
  16. 研发团队管理:IT研发中项目和产品原来区别那么大,项目级的项目是项目,产品级的项目是产品!!!
  17. OpenGL---GLUT教程(五) GLUT键盘控制
  18. 谷歌PR权重是什么意思?如何查询网站的谷歌PR权重
  19. yoyo-rebecca
  20. 使用cephadm安装ceph octopus

热门文章

  1. 2018的锅让2019来悲
  2. cesium加载entity图片缩放_Linux 下最棒的 11 个图片查看器 | Linux 中国
  3. 钢笔墨水能否代替打印机墨水_喷墨打印机该用染料墨水还是颜料墨水,有什么区别,你会选吗?...
  4. 01-Sass 环境搭建与基本语法
  5. matlab 画三棱柱,教大家几何画板画出三棱柱图形
  6. Java字符串常见面试题
  7. oracle 对表重建索引,oracle 重建索引方法 分析
  8. win10 clion msvc opencv4.10 报错Process finished with exit code -1073741515 (0xC0000135)
  9. 局域网访问提示无法访问检查拼写_win10无法访问共享提示请检查名称的拼写怎么办...
  10. JAVA计算机毕业设计博雅楼自习室预约系统Mybatis+系统+数据库+调试部署