部分安卓机vue跳转到外部链接跳转在从外部链接跳转回来vue生命周期无法执行

发布于 2022-09-11 17:24:19 字数 416 浏览 24 评论 0

本页面路由"/login"
beforeCreate: function() {
    alert("1")
},
created: function() {
   alert("2")
},
beforeMount: function() {
    alert("3")
},
mounted: function() {
    alert("4")
},
 methods: {
    login() {
       window.location.href=外部url
    }

}
正常进入"/login"路由,生命周期函数能正常执行能正常执行alert
点击登录按钮跳转到外部url,从外部url获取一些信息,再从外部url跳转回到"/login"路由,页面能正常打开,但是生命周期函数全部实现失效,alert全部不执行,这是什么原因

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

ぃ弥猫深巷。 2022-09-18 17:24:19

我也发现了这个问题,我的解决方案如下:
在 router.beforeEach中加入如下代码,来解决外部链接跳转回来vue的所有钩子函数无响应的问题。

      let user = navigator.userAgent;
      let isAndroid = user.indexOf('Android') > -1 || user.indexOf('Adr') > -1; //android终端
      if (isAndroid) {
        let reloadTimes = sessionStorage.reloadTimes || 0;
        reloadTimes++;
        sessionStorage.setItem('reloadTimes', reloadTimes);
        if (reloadTimes == 2) {
          router.go(0);
          return false;
        }
      }
花开柳相依 2022-09-18 17:24:19

渲染的页面没有失效,不会再执行生命周期函数

指尖上得阳光 2022-09-18 17:24:19

可以使用pageshow

window.addEventListener('pageshow', () => {
      ...
    })
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文