We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
一般我们在对网页进行代码或者链接资源修改后,需要清除浏览器缓存,再刷新页面才能看到最新、正确的效果。但是,对清除缓存这一操作不熟悉的用户,就无法看到正确的页面效果,这个问题怎么解决?
The text was updated successfully, but these errors were encountered:
要解决这个问题,我们需要先理解浏览器的缓存机制。
我们都知道, 我们在访问 Web 网站时,在浏览器里输入 URL 地址,就会发起一个 http 请求,服务器里面的程序就会做出响应,将服务器上的文件发送到客户端(浏览器),客户端将这些文件(html,css, js)解析并完成页面渲染。
浏览器为了优化页面打开速度,会对静态资源做缓存处理,也就是首次会发起请求,后面不再发起请求。
因此,解决这些问题往往会在静态资源后面加上一个时间戳
在静态资源 URL 后面紧跟着一个 ?v=1556560823426 版本戳:
?v=1556560823426
<link rel="stylesheet" href="/spa/portal/public/index.css?v=1556560823426"> <script type="text/javascript" src="/spa/portal/public/index.js?v=1556560823426"></script>
浏览器在加载页面的时候,就能够识别这个资源是否是已改动的,并从新发起 http 请求获取。
目前,我们开发网站的模式还是以存手工的方式为主。因此,只能手动在静态资源(js,css)后面加一个时间戳。有时候我们一天不止修改发布一版,那时间戳肯定不行的,得想一个与上次不一样的随机数作为后缀。
但是,目前前端开发已经进入自动化和工程化成熟时期,grunt, gulp, webpack 等构建和打包工具会对这一流程进行统一处理,统一加入一个唯一的哈希值,我们只需要专注以页面的设计和开发就好了,这些工具解放了我们的双手,让我们腾出更多的时间完成富有创意的活动。
人与动物最重要的区别在于,会发明和使用工具
@GitHuboooSHY
Sorry, something went wrong.
blankyl
No branches or pull requests
一般我们在对网页进行代码或者链接资源修改后,需要清除浏览器缓存,再刷新页面才能看到最新、正确的效果。但是,对清除缓存这一操作不熟悉的用户,就无法看到正确的页面效果,这个问题怎么解决?
The text was updated successfully, but these errors were encountered: