每次部署新版本的 Web 应用程序时,如何清理浏览器缓存?

招聘

我有一个 React 应用程序,每次部署新版本时,由于浏览器缓存,一些用户无法获得新版本。

任何人都可以告诉我每次部署新版本的软件时如何清理浏览器缓存?

里卡多·罗查

缓存是浏览器提供给用户的功能。由于安全原因,您不能使用 javascript 清理缓存。

清理缓存意味着您可以操作用户计算机上的物理文件,如果有一天您可以这样做,这将是一个巨大的安全漏洞。

检查这个答案以加强我在说什么。

但是,您可以告诉浏览器永远不要像这样缓存您的页面(也请查看文档):

<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>

或者通过在所有文件(javascript、图像、字体等)中关联哈希标签名称来更改浏览器已知的文件,并在每次部署软件的新版本时更改该哈希,如下所示:

<script src="script.js?version={versionNumber}">
<img src ="imageName.png=version={versionNumber}">

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Web浏览器上部署Java Swing应用程序?

每次部署的应用程序脚本Web更改版本

在Web浏览器控件中使用Internet Explorer的最新版本

如何让所有浏览器忽略Web应用程序的缓存

我的Web应用程序加载后如何清除浏览器缓存?

新版本云9:如何部署到heroku

使用kubernetes部署wordpress应用程序时,在不停机的情况下部署我的图像的新版本

使用CEFSharp Web浏览器的WPF应用程序在clickonce版本中崩溃

如何处理使用代码拆分的Docker Webpack应用程序的新版本部署?

Spring Boot:每次我们重建应用程序时,都执行更新版本的SQL文件

如何停止在浏览器中缓存 Angular 应用程序(旧版本)

Web浏览器如何与FastCGI应用程序通信?

当用户关闭Web浏览器而不注销应用程序时如何获取用户注销时间

Cordova应用程序是否可以自动同步/更新Web内容(.js文件)(如果有可用的更新版本),否则使用缓存的内容?

Flutter (web):如何检查是否有新版本的应用可用?

部署我的应用程序的新版本时丢失的请求

shiro的最新版本破坏了我的web应用程序[shiro-all-1.5.1.jar]

如何使用新的编辑器部署新版本的Google Apps网络应用

每次更新版本时,VLC的“构建字体缓存”是做什么的?

如何在新版本部署期间保持我的 heroku 应用程序正常工作?

每次内核更新到新版本时,都需要重新应用内核反向移植吗?

部署不同版本的Web应用程序

在使用新版本的应用程序时如何避免修改 Firebase Firestore 数据

如何使用Chef和tar_extract部署网站的最新版本

在AWS上部署到ECR时,如何标记映像的新版本?

Flutter Web:如何在Flutter Web应用程序中禁用浏览器的向后按钮

在Web浏览器中打开R Shiny应用程序时,传单多边形会失去颜色

如何设置Silverlight浏览器应用程序与嵌入式Web浏览器控件之间的通信

从Web浏览器运行应用程序