html js清除缓存,js清除浏览器缓存的几种方法
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中)
html js清除缓存,js清除浏览器缓存的几种方法相关推荐
- 如何不让浏览器读取html缓存,不让浏览器缓存index.html
参考文档:https://www.2cto.com/ask/question/4598 location = /index.html { add_header Cache-Control " ...
- 【缓存】客户端(浏览器)缓存学习
转自:https://www.cnblogs.com/tinywan/p/6067126.html 感恩 目录 客户端(浏览器)缓存的优点 客户端缓存的缺点 浏览器缓存策略 Expires Ca ...
- JavaScript基础之缓存机制:浏览器缓存机制
缓存可以说是网站性能优化非常有用的一种方式.一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷. 对于一个数据请求来说,可以分为发起网络 ...
- JS中常遇到的浏览器兼容问题和解决方法
JS中常遇到的浏览器兼容问题和解决方法 参考文章: (1)JS中常遇到的浏览器兼容问题和解决方法 (2)https://www.cnblogs.com/wws-bk/p/9770834.html 备忘 ...
- java 情况浏览器缓存_JavaWeb禁止浏览器缓存当前Web页面的方法
所谓浏览器缓存,是指当第一次访问网页时,浏览器会将这些网页缓存到本地,当下一次再访问这些被缓存的网页时,浏览器就会直接从本地读取这些网页的内容,而无需再从网络上获取. 虽然浏览器提供的缓存功能可以有效 ...
- js 把字符串转成json对象的三种方法
js 把字符串转成json对象的三种方法 不管字符串是否含有转义字符,都能转换成 Json 对象 1, js自带的eval函数,其中需要添加小括号eval('('+str+')'); function ...
- js中截取字符串前几位的两种方法slice()substring()
在Javascript使用字符串中,我们不一定需要全部的字符串,这时就需要截取字符串.本文主要介绍js中截取字符串前几位的两种方法:1.使用slice() 方法:2.使用substring() 方法. ...
- 实现IE6、IE7、IE8多版本浏览器共存的五种方法
转自:http://developer.51cto.com/art/201008/220737.htm 你对实现IE6.IE7.IE8多版本浏览器共存的五种方法是否了解,这里和大家分享一下,相信本文介 ...
- 实现和IE浏览器交互的几种方法
实现和IE浏览器交互的几种方法 浙江大学计算机系 (310027) 胡朝晖 陈奇 俞瑞钊 如何实现对IE浏览器中对象的操作是一个很有实际意义的问题 ...
- 微信公众号开发,清除微信内置浏览器缓存
在做微信开发的时候(主要是微信内网页或者比较大型的手机网站)的时候,更改了页面代码,但是微信内置浏览器有缓存,还是之前的效果,影响调试,而且还死活清除不掉!!!!!怎么办? 我的第一想法是关闭手机的微 ...
最新文章
- 计算机专业推荐表自我介绍,就业推荐表-自我介绍
- Java最佳实践– Vector vs ArrayList vs HashSet
- spring boot 如何动态替换bean?
- Redis 备份,容灾及高可用实战
- python画图遇到复数值数据时应该用numpy.abs()函数还是numpy.real()函数
- 使用Eclipse调试Android Native Application---cocos2d-x + Eclipse + Android + ndk
- 常用类中的方法 —— java.util.Map
- MySQL 5.5 到MySQL 5.6半同步复制(SSL)
- win11中gpedit.msc找不到文件怎么办 windows11gepdit.msc找不到文件的解决方法
- RK3399封装(CPU+GPU)Mali-T860 Codec架构(十六)
- python实例编写(7)---测试报告与测试套件(多个py文件,1个py文件内多个用例)
- bios刷写工具_蓝天P750/P751编程器刷BIOS
- ansys中ex是什么意思_ansys命令流mp,ex
- mac电脑无法识别移动硬盘怎么解决?看过来!
- [转载]用树莓派3配置成无线路由器
- 使用再生龙制作linux系统镜像及还原,再生龙软件备份和还原linux系统
- shell 知:ola
- 【参考】bike+需求影响
- GitChat · 人工智能 | 如何零基础用 Keras 快速搭建实用深度学习模型
- 《奔跑吧 Linux内核》之处理器体系结构
热门文章
- 家用光纤猫设备、光纤收发器和光电交换机介绍
- 【渝粤教育】 国家开放大学2020年春季 1069中央银行理论与实务 参考试题
- [渝粤教育] 西南科技大学 财务管理与分析 在线考试复习资料
- 【渝粤教育】广东开放大学 嵌入式数据库 形成性考核 (48)
- 【渝粤题库】广东开放大学 C语言程序设计 形成性考核
- 【渝粤题库】国家开放大学2021春2038财务管理题目
- bloomfilter的java实现,BloomFilter(布隆过滤器)原理及实战详解
- python 数据去重_科学网—python学习——根据条件提取数据,并去重 - 李立的博文...
- java parallelstream_关于Java8 parallelStream并发安全的深入讲解
- VS2010常用快捷键自定义