vue 浏览器缓存 问题,vscode关闭后依然可以查看已经加载过的内容。

最近在做大屏系统的前端部分,运行npm run dev后,访问一些页面,这些页面不管是组件切换还是路由切换,在整个vscode关闭后,依然可以通过切换路由或者标签来访问,因为全部是图表,我想做到每次切换一个组件或者页面,浏览器中的缓存都被清理掉!以此来节约系统资源,感觉所有的UI层面的内容全部被浏览器记录了,与vue组件是否销毁完全没有关系。请问各位前辈,是否有方法做到vue动态的直接清除浏览器缓存的方式?如跳转路由后,把之前所有的组件缓存都清了。

我绝对没有设置keepalive,所有缓存确定是浏览器缓存,而不是路由缓存。

问题出现的环境背景及自己尝试过哪些方法

我目前的做法是切换组件的时候不做任何操作,但是切换路由的时候给强制刷新了,但感觉这样体验不好,但面对巨大数量的图表,似乎这样做也是一个可以接受的方式。

相关代码

navTo(url){

this.$router.push({path:url});

//window.location.reload();

this.reload=true;

},

'$route'(to, from) {

if(this.reload){

window.location.reload();

}

},

你期待的结果是什么?实际看到的错误信息又是什么?

希望能不通过刷新,动态的清除浏览器缓存!注意是浏览器缓存,不是路由缓存。绝对没有设置keepalive。


2021年1月20日更新
我说的缓存,是被浏览器读取到内存里面的内容,而不是文件缓存。所以,目前没有可以参考的解决方案。

我目前几乎所有数据都是静态的,如果数据动态化了后,关了vscode后再去点击是无法发送请求的。但静态的就不一样了,点击的切换路由、切换组件的方法,甚至UI界面都被浏览器缓存起来了,所以依然可以点击。

但这个问题和数据是否动态静态无关,动态数据也一样会缓存所有的内容到内存里面。

其实这个问题我觉得可能不会有答案,而且不管缓存了多少内容,只要不被展现,只是占用内存而已。不会占用cpu资源,其实说白了,我是想做到的是,当一些组件不被展示的时候,通过代码动态的去释放内存中的这部分被销毁的组件,也就是说想释放部分被浏览器占用的部分内存。目的是对一些配置较低的电脑上做展现时做一些优化工作。而浏览器上的js代码应该没有权限做到这点。

至于网上的那些在文件后面加时间戳等方式禁止文件缓存的方式和本问题完全无关。

vue 浏览器缓存 问题,vscode关闭后依然可以查看已经加载过的内容。

vue 浏览器缓存 问题,vscode关闭后依然可以查看已经加载过的内容。

回答

图表这么多数据,为什么不想要缓存,那用户体验是什么样的?

反正我的vue项目,如果vscode 关闭,点击网页路由是没有任何响应

想做到每次切换一个组件或者页面,浏览器中的缓存都被清理掉!以此来节约系统资源
 浏览器缓存(Browser Catching)是为了节约网络的资源加速浏览,浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,这样就可以加速页面的阅览。 —-摘自《百度百科》
为什么你的说法刚好跟我理解的相反

网上有搜到相关vue清除浏览器缓存的文章,可以参考下 https://www.cnblogs.com/qinyu...

以上是 vue 浏览器缓存 问题,vscode关闭后依然可以查看已经加载过的内容。 的全部内容, 来源链接: utcz.com/a/103954.html

回到顶部