在iphoneX及以上版本从外链回退不触发事件,7P,7没发现这个bug
安卓上自测没有发现这个问题
最近做项目中发现了一个问题,iphoneX及以上版本从当前vue应用中跳转到外部链接然后在回退到vue应用里面,beforeRouterEnter没有被触发。
由于在其他手机上测试没有问题,所以一开始我以为代码写的有问题,然后就开始漫长的找坑之路,后来我将事件放到了created、mounted里面也没有执行代码,那就证明有可能页面被缓存了,所以这些钩子没有触发。
所以百度了一下,找到了onpageshow这个事件
onpageshow 事件在用户浏览网页时触发。
onpageshow 事件类似于onload事件,onload 事件在页面第一次加载时触发, onpageshow 事件在每次加载页面时触发,即 onload 事件在页面从浏览器缓存中读取时不触发。
也就是当页面显示到前台的时候就触发pageshow这个事件,所以我就在created里面注册了这个事件并将要执行的代码写进去,再次真机调试之后发现解决这个问题了。
created () {
window.addEventListener('pageshow', () => {
//外链回退到vue应用要执行的代码
})
}
记录下来避免以后再次跳坑
关于找一找教程网
本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[从外链回退到vue应用不触发生命周期、beforeRouterEnter等钩子函数的问题]http://www.zyiz.net/tech/detail-133959.html