文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

javascript如何清除缓存

2023-06-14 08:48

关注

小编给大家分享一下javascript如何清除缓存,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

javascript清除缓存的方法:1、通过meta方法清理网站缓存;2、用ajax请求服务器最新文件,并加上请求头“If-Modified-Since”和“Cache-Control”;3、直接使用“cache:false”等等。

JS清除缓存的几种方法

一、CSS和JS为什么带参数(形如.css?t=与.js?t=)怎样获取代码

css和js带参数(形如.css?t=与.js?t=)

使用参数有两种可能:

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

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

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

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

二、关于浏览器缓存

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

清理网站缓存的几种方法

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表单的临时缓存【推荐学习:js基础教程】

方式一:用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可以任意取了

eg:

<script> document.write("<s"+"cript type='text/javascript' src='/js/test.js?"+Math.random()+"'></scr"+"ipt>"); </script>

其他的类似,只需在地址后加上+Math.random()

注意:因为Math.random() 只能在Javascript 下起作用,故只能通过Javascript的调用才可以

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

在 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()">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()">a</a>     </body> </html>

以上是“javascript如何清除缓存”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯