我的vue2项目出现了一个超级恶心的bug
具体流程:
页面a点击a标签->到页面b->页面b用户退出刷新页面->点击浏览器的返回按钮返回上一页
返回页面后页面没有刷新导致用户名还显示这
-
项目中没有用keep-alive缓存
-
也在设置了key
-
尝试了window.removeEventListener(‘popstate’, this.handlePopState());监听(不管用 根本监听不到)
-
if (window.performance && window.performance.navigation) { switch (window.performance.navigation.type) { case window.performance.navigation.TYPE_RELOAD: // 页面是通过刷新重新加载的 console.log(‘页面是通过刷新重新加载的’); break; case window.performance.navigation.TYPE_BACK_FORWARD: // 页面是通过浏览器的回退或前进按钮加载的 console.log(‘页面是通过浏览器的回退或前进按钮加载的’); window.location.reload(true); break; // … 其他情况 } }
也试了 返回不了结果 -
watch里面监听$route和在路由守卫里面也没法判断路由的变化刷新 强行刷新会导致页面死循环一直刷新
-
尝试了在meta标签里面和nginx中设置不使用缓存,也不行
已经是勤驴技穷了
还有个特殊的问题就是
-
在本地启项目的话浏览器的前进和后退都会刷新页面
如果部署到线上的话才会不刷新
本地环境是http
线上是https
-
chrome会出现问题 用火狐测试了一下好像是没有这个问题
-
如果挂代理的话也会刷新页面