使用js、标签、文件版本跳过浏览器缓存

8 篇文章 0 订阅
本文介绍了如何通过HTML元标签和JavaScript来避免浏览器缓存静态文件,以确保每次加载都从服务器获取最新数据。针对微信内置浏览器的特殊缓存问题,提出了解决方案,即在URL中添加随机参数以强制刷新页面。这种方法对于前端开发人员确保用户获取最新内容尤其重要。
摘要由CSDN通过智能技术生成

避免缓存

缓存是浏览器的功能特性,不是 bug,为了增强用户体验,浏览器一般都会把网页上所需的静态文件缓存到本地,再次刷新的时候则无需再重新加载

但是我们有时候就是不需要浏览器缓存这些文件,而是每次都从服务器端读取数据,可以用以下做法:

使用 js 配合 mate 标签及文件版本号,实现避免浏览器缓存

<meta HTTP-EQUIV="pragma" CONTENT="no-cache">
<meta HTTP-EQUIV="Cache-Control" CONTENT="no-store, must-revalidate">
<meta HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
<meta HTTP-EQUIV="expires" CONTENT="0">

<link href="reset.css?v=20210707" rel="stylesheet">
if (window.name) {
	const str = Math.random().toString(36).substr(2);//随机字符串
	window.location.href += '?S=' + str;//兼容微信浏览器刷新
	window.name = 'isreload';
}

注 - 微信缓存解决办法:

微信内置浏览器会将整个 html 文件进行缓存,所以上述方法也就失效了(html 都是缓存下来的,不是最新的代码)

解决办法:在跳转路径后面加个参数,例如 https://aaa.com/index.html?v=123

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值