在发布新的UI版本后,我们需要自动从缓存中刷新旧的html,css和js文件,我读到添加了浏览器向服务器询问的查询版本(例如... js?v1)当前版本,但是要做到这一点,我需要修改已经在缓存中的html文件
我还阅读了许多有关在html中使用元标记的建议
<meta http-equiv="cache-control" content="no-cache" />
但是通过这种方式,浏览器始终会询问当前版本,此选项意味着许多服务器请求同一个文件
我尝试使用
windows.location.reload(true);
但它也不起作用
有一种使用javascript刷新以禁用缓存的方法
答案 0 :(得分:0)
大部分时间未缓存html文件。根据我的经验,添加查询字符串非常有效,尤其是在使用可以自动生成和添加查询字符串的系统时。一起禁用缓存会对加载时间产生负面影响。
您要完成的任务的总称是“缓存破坏”。与正在使用的服务器技术一起使用时,应该提供几个简单的解决方案。
答案 1 :(得分:0)
我找到了一个解决方案,方法是通过REST API返回具有当前front-version的标头 并且我在通用函数中添加了一个条件,该条件发送所有请求以将本地存储项目与使用的最后一个版本和标头中返回的版本进行比较
如果版本不同,则会调用json以查找要刷新的文件,然后以这种方式通过浏览器更新文件来向每个项目发送发布请求。
EmployeeNumber, RecordID, timeInMondayAM, timeOutMondayAM,timeInMondayPM, timeOutMondayPM, ... timeInAMSunday.. etc