缓存是一个神奇的东西,一方面它可以提高访问效率,不用每次进入页面都重新加载所有的JS等文件;而另一方面,浏览器缓存给程序猿们或者项目甲方的用户们带来很不好的体验【例如数据不刷新,数据不准确等等】
昨天接到需求,需要将两个HTML修改一下,每次进入页面都直接刷新不使用缓存,实现方式如下:
原来的html是这样引用JS文件的:
<script src="js/TEST_DEMO.js"></script>
修改后的html是这样引用JS文件的:
<script>
document.write(`<script src="js/TEST_DEMO.js?t=${Math.random()}"><\/script>`)
</script>
原理:在引用的JS文件后加一个随机数的参数,既不影响对原JS文件的引用,也让浏览器在重新进入页面时无法使用上一次的缓存【因为每次的参数都是随机的】,这样就可以实现在不影响原先功能的使用下,每次进入页面都重新加载。【业务需要,不要拿自己正在开发的这样整,因为访问效率会下降,也是一个弊端】