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


Posted in Javascript onMarch 15, 2017

关于浏览器缓存

浏览器缓存,有时候我们需要他,因为他可以提高网站性能和浏览器速度,提高网站性能。但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些错误的数据。像股票类网站实时更新等,这样的网站是不要缓存的,像有的网站很少更新,有缓存还是比较好的。今天主要介绍清除缓存的几种方法。

清理网站缓存的几种方法

meta方法

//不缓存
<META HTTP-EQUIV="pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> 
<META HTTP-EQUIV="expires" CONTENT="0">

清理form表单的临时缓存

<body onLoad="javascript:document.yourFormName.reset()">

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

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();

用php后端清理

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

方法五:

window.location.replace("WebForm1.aspx");  

参数就是你要覆盖的页面,replace的原理就是用当前页面替换掉replace参数指定的页面。 

这样可以防止用户点击back键。使用的是javascript脚本,举例如下:

a.html

以下是引用片段:

<html> 
   <head> 
     <title>a</title>   
     <script language="javascript"> 
       function jump(){ 
         window.location.replace("b.html"); 
       } 
     </script> 
   </head> 
   <body> 
    <a href="javascript:jump()" rel="external nofollow" rel="external nofollow" >b</a> 
  </body> 
</html>

b.html

以下是引用片段:

<html> 
   <head> 
     <title>b</title>   
     <script language="javascript"> 
       function jump(){ 
         window.location.replace("a.html"); 
       } 
     </script> 
   </head> 
   <body> 
    <a href="javascript:jump()" rel="external nofollow" rel="external nofollow" >a</a> 
  </body> 
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
javascript实现瀑布流自适应遇到的问题及解决方案
Jan 28 Javascript
JAVA四种基本排序方法实例总结
Jul 24 Javascript
javascript中alert()与console.log()的区别
Aug 26 Javascript
很全面的JavaScript常用功能汇总集合
Jan 22 Javascript
jQuery progressbar通过Ajax请求实现后台进度实时功能
Oct 11 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
Mar 02 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
Jun 04 Javascript
Angular中ng-options下拉数据默认值的设定方法
Jun 21 Javascript
React服务端渲染(总结)
Jul 01 Javascript
p5.js绘制旋转的正方形
Oct 23 Javascript
详解JavaScript类型判断的四种方法
Oct 21 Javascript
vue 使用rules对表单字段进行校验的步骤
Dec 25 Vue.js
从零开始做一个pagination分页组件
Mar 15 #Javascript
Vuex模块化实现待办事项的状态管理
Mar 15 #Javascript
javascript图片预览和上传(兼容IE)
Mar 15 #Javascript
轻松理解JavaScript之AJAX
Mar 15 #Javascript
jQuery插件ContextMenu自定义图标
Mar 15 #Javascript
JavaScript对象引用与赋值实例详解
Mar 15 #Javascript
jQuery图片瀑布流的简单实现代码
Mar 15 #Javascript
You might like
利用php+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
PHP读取XML值的代码(推荐)
2011/01/01 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
Javascript 类与静态类的实现
2010/04/01 Javascript
JavaScript 实现类的多种方法实例
2013/05/01 Javascript
JS中for循序中延迟加载动态效果的具体实现
2013/08/18 Javascript
jQuery实现下拉加载功能实例代码
2016/04/01 Javascript
JQuery 动态生成Table表格实例代码
2016/12/02 Javascript
从零学习node.js之文件操作(三)
2017/02/21 Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
2017/03/05 Javascript
Bootstrap fileinput文件上传预览插件使用详解
2017/05/16 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
Vue使用mixin分发组件的可复用功能
2019/09/01 Javascript
Vue+Vuex实现自动登录的知识点详解
2020/03/04 Javascript
Vue结合路由配置递归实现菜单栏功能
2020/06/16 Javascript
JavaScript中layim之整合右键菜单的示例代码
2021/02/06 Javascript
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
Python实现基本数据结构中栈的操作示例
2017/12/04 Python
python 读取DICOM头文件的实例
2018/05/07 Python
Python生成一个迭代器的实操方法
2019/06/18 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
2020/09/24 Python
赫里福德的一家乡村零售商店:Philip Morris & Son
2017/06/25 全球购物
eDreams德国:南欧领先的在线旅游公司
2020/12/07 全球购物
Fanatics官网:运动服装、球衣、运动装备
2020/10/12 全球购物
Java基础知识面试要点
2016/07/29 面试题
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/01/13 面试题
高级编程求职信模板
2014/02/16 职场文书
公司门卫岗位职责
2014/03/15 职场文书
职工代表大会主持词
2014/04/01 职场文书
2014年政府采购工作总结
2014/12/09 职场文书
初中运动会前导词
2015/07/20 职场文书
大学同学聚会感言
2015/07/30 职场文书
如何做好工作总结!
2019/04/10 职场文书
海贼王十大逆天果实 魂魂果实上榜,岩浆果实攻击力最强
2022/03/18 日漫
Python中re模块的元字符使用小结
2022/04/07 Python