我想创建一个硬重置页面,以便返回页面的每个用户都具有页面的当前外观。
我试过了location.reload (true)
,但这开始为无限推出我。
答案 0 :(得分:2)
发展中最有趣的部分是学习你不了解的知识,这样你就可以学习它。您面临的问题是缓存。它在网页开发中是一个非常受欢迎的主题,因为您可以简单地告诉每个使用您网站的用户在网页过期时对其进行硬刷新。然而,你可以做的是"破坏缓存"。
例如,一种较常见的缓存清除技术是向get请求添加查询。如果您要在页面中添加Javascript文件main.js
,则可以使脚本标记看起来像<script src="main.js?version=1"></script>
。这将告诉访问者浏览器加载main.js文件的版本1。当您更改main.js时,将数字增加到2.当浏览器命中您的服务器时,您的服务器会说,哦,没有main.js版本1消失,但是2可用。然后服务器加载最新版本的main.js.同时,用户只能缓存您网页的当前版本。有许多不同的服务器端捆绑器也将为您处理此问题。
很多人会通过在其服务器环境填充的脚本中添加日期或其他会自动增加的内容来执行此技术。如何设置堆栈将为您希望在其他地方搜索的答案添加足够的差异。例如,如果您使用C#作为后端,请搜索C# cachebusting
,然后您就会看到很多问题的解决方案。