js设置浏览器不缓存

18 篇文章 0 订阅

关于浏览器缓存

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

 这几种方法可以控制浏览器不去缓存数据。

 

在Node.js设置浏览器缓存可以通过设置HTTP响应头来实现。以下是一种常见的设置浏览器缓存的方法: 1. 首先,你需要使用Node.js的HTTP模块创建一个HTTP服务器。可以使用以下代码创建一个简单的HTTP服务器: ```javascript const http = require('http'); const server = http.createServer((req, res) => { // 处理请求并发送响应 }); server.listen(3000, () => { console.log('Server is running on port 3000'); }); ``` 2. 在处理请求并发送响应的代码中,你可以设置响应头来控制浏览器缓存。以下是一些常用的响应头设置: - 设置Cache-Control头:Cache-Control头用于指定缓存的行为。例如,可以设置`Cache-Control: public, max-age=3600`来指定资源可以被公共缓存,并且在缓存中保留1小时。 ```javascript res.setHeader('Cache-Control', 'public, max-age=3600'); ``` - 设置Expires头:Expires头用于指定资源的过期时间。例如,可以设置`Expires: Wed, 21 Oct 2022 07:28:00 GMT`来指定资源在指定时间之后过期。 ```javascript res.setHeader('Expires', 'Wed, 21 Oct 2022 07:28:00 GMT'); ``` - 设置ETag头:ETag头用于指定资源的唯一标识符。浏览器可以使用ETag头来验证资源是否已更改。例如,可以设置`ETag: "abc123"`来指定资源的ETag。 ```javascript res.setHeader('ETag', 'abc123'); ``` 3. 根据你的需求,可以根据请求的URL或其他条件来动态设置响应头。例如,可以根据请求的URL来设置不同的缓存策略。 ```javascript if (req.url === '/static/css/styles.css') { res.setHeader('Cache-Control', 'public, max-age=86400'); // 缓存静态CSS文件1天 } else if (req.url === '/static/js/main.js') { res.setHeader('Cache-Control', 'public, max-age=604800'); // 缓存静态JS文件1周 } else { res.setHeader('Cache-Control', 'no-cache'); // 不缓存其他资源 } ``` 这只是一个简单的示例,你可以根据你的具体需求进行更复杂的设置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wepe12

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值