我的web项目一旦有前端页面的更新就需要清理浏览器缓存后才能看到最新效果,有时不清理不但不能看到最新效果还会出现页面布局错乱,如何能避免这种情况,我想要更新前端页面,用户也不需要清理浏览器缓存,页面关闭重新打开就能显示最新效果
关于 前端页面的更新就需要清理浏览器缓存后才能看到最新效果 的部分:
hash
值,一般各种CLI默认都会有这个功能。比如说VueCLI的这块配置项 #filenameHashing - 配置参考 | Vue CLIindex.html
开启不缓存,其他(CSS、JS、图片等等)资源文件开启缓存。这样一般情况下就可以避免用户出现缓存的问题了,但要保证客户端是现代浏览器,很多国产的魔改浏览器是默认强缓存的(比如说微信内置的浏览器/dog),所以需要给 index.html
不缓存的同时设置缓存时间为 0
,或者 -1
。
关于 有时不清理不但不能看到最新效果还会出现页面布局错乱 的部分:
rm -rf html_dist
来清理掉前端的旧文件然后再把新的文件部署上去。如果你不会做缓存配置的话,和运维或者负责服务器的后端同学说明一下情况。让他们配置一下 Nginx
就可以解决你说的这两个问题了。
问题标题含义差异太大了。
你这个问题,解决办法是 .html 文件不应该设置(或者说是应该关闭) http 的缓存策略。
问题内容: 如何使用php清除浏览器缓存? 问题答案:
问题内容: 有什么办法可以在页面上放置一些代码,以便当有人访问网站时,它会清除浏览器缓存,以便他们可以查看更改? 使用的语言:ASP.NET,VB.NET,当然还有HTML,CSS和jQuery。 问题答案: 如果这是关于和变化,一种方法是到“缓存无效”是通过附加像“ ”为每个版本的文件名。例如: 或者,在文件名之后执行此操作:
问题内容: 我正在寻找一种以编程方式清空浏览器缓存的方法。我这样做是因为应用程序缓存了机密数据,当您按“注销”时,我想删除这些数据。这将通过服务器或JavaScript发生。当然,仍然不鼓励在外国/公共计算机上使用该软件,因为还有诸如键盘记录器之类的更多危险,您无法在软件级别上克服这些危险。 问题答案: 有可能,您可以简单地使用jQuery用事件处理程序/按钮替换引用缓存状态的“元标记”,然后进行
问题内容: 我正在使用WebDriver运行Selenium测试。我将以某种循环重复测试,因此现在我想在JAVA中开始新测试之前清除缓存。 在这个while循环中,我要做的第一件事是清除CACHE(即MOZILLA和CHROME) 知道我该如何实现吗? 谢谢 问题答案: 当前,无法通过Web驱动程序API清除缓存。但是,如果每次都可以启动浏览器的新实例,则应在FF和Chrome中清除缓存,因为每次
问题内容: 这些天,我的应用程序一直在变化,因为我们的团队现在正在运行快速更新。 由于缓存,我们的客户并不总是拥有最新版本的代码。 那么有没有办法强制浏览器清除缓存? 问题答案: 您可以使用一种非常简单的解决方案,其中包括将哈希值附加到脚本文件中。每次部署App时,您都会通过gulp /grunt任务自动为文件提供不同的哈希值。例如,您可以使用gulp-rev。我在所有项目中都使用了这种技术,并且
问题内容: 我的JS脚本中有这样的功能: 也许“ doSomethingHeavy”本身是可以的,但重复执行300次会导致浏览器窗口被卡住一段不可忽略的时间。在Chrome中,这并不是什么大问题,因为只有一个制表符有效。但对于Firefox来说,这是一场彻底的灾难。 有什么方法可以告诉浏览器/ JS“轻松一点”,而不是阻止对doSomethingHeavy的调用之间的所有操作? 问题答案: 您可以