
问题描述:最近启动新版本的项目时,发现某些用户的操作仍在调用旧版本JS的内容,这导致原始新JS中添加的限制不受到限制。用户的操作,从而导致用户重复该操作。
问题原因:
如果用户以前曾访问过系统,则浏览器将缓存系统的CSS和JS。在这些CSS和JS缓存过期之前,浏览器将仅从缓存中读取CSS和JS。如果在上面对css和js进行了修改,则这些修改不会在用户的浏览器中更改。
解决方案1:
用户按Ctrl + F5强制刷新页面或手动清除浏览器缓存。此时,浏览器将再次从服务器获取CSS和JS文件,新文件将生效。

解决方案二:
但是,当用户数太大时,您不能让每个用户一个一个地清除缓存,因此我从代码的角度开始解决此问题。在js后面添加版本号,以使浏览器将此JS文件视为新文件,以便再次从服务器获取资源。
在添加版本号之前:
添加版本号后:

此时,问题已解决,并且CSS与上述类似。
问题扩展:
但是,当JS文件或CSS太多时,将需要大量时间来地修改版本号。此时,需要动态获取版本号。
更换为从messages.properties中读取

目录结构如下
messages.properties的内容如下
js.version=2.0注意:如果要读取配置文件的内容,则配置文件名称必须为messages.properties。否则,将出现以下错误

以下是正常情况
这是动态修改JS文件的版本号的结尾。当然,配置文件名还支持自定义,只需在application.yml文件中添加内容以指定文件名即可。
spring:
messages:
basename: test这时,您可以用test.properties替换messages.properties文件。指定文件名时,还可以添加文件目录,不一定在资源目录中,而是默认情况下在此目录中。
摘要:
通过更改JS,浏览器可以再次从服务器获取JS文件。尽管这只是一个很小的要求,但它减少了用户操作的麻烦以及异步JS更新的问题。一个小的细节可以为我们带来极大的便利。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-321099-1.html
禽兽不如
#fx_4walls#热门