vue中解决微信html5原生ios虚拟键返回不刷新问题
问题描述
做微信h5页面时,经过了微信授权才跳转到一级默认路由home.vue中,在home页面时在IOS中底部会出现虚拟的返回键,安卓上不会出现。且在IOS点击返回时会跳转到home空白页面不重新加载,在安卓机上点击返回键会重新加载。
实现功能
解决IOS问题(在home页面点返回时路由还是在home页面,并完成重新加载)
分析
需要在进入页面时加入监听,并在页面离开时移除监听。因为home页面是个滚动列表,所以我采用了keep-alive路由缓存,所以不能在created()和beforeDestroy()生命周期中写,我在home.vue中加了组件内的守卫beforeRouteLeave ()在里面移除监听,在activated()中添加监听。
如果页面没有采用路由缓存,则监听事件和移除事件可以在created()和beforeDestroy()这两个生命周期函数中写。
注意
addEventListener()与removeEventListener()用于处理指定和删除事件处理程序操作。
它们都接受3个参数事件名、事件处理的函数和布尔值。
布尔值参数是true,表示在捕获阶段调用事件处理程序;
如果是false,表示在冒泡阶段调用事件处理程序。
相同事件绑定和解除,需要使用共用函数;如果removeEventListener不生效,可以看看这篇文章https://blog.csdn./amyleeYMY/article/details/83382741
//监听返回按钮,重新加载当前页面
window.history.pushState(state, title, utl)//在页面中创建一个 history 实体,直接添加到历史记中。
参数state存储一个对象,可以添加相关信息,可以使用 history.state 读取其中的内容。
title历史记录的标题(目前浏览器不支持)。
url创建的历史记录的链接。进行历史记录操作时会跳转到该链接。
最终代码
home.vue
activated(){ //在页面中创建一个 history 实体,当实体改变时会触发popstate事件,跳转到当前页面,并重新加载当前页面 window.history.pushState(null, 'ff', document.URL); window.addEventListener('popstate',this.reload,true) } //本来在deactivated中写移除事件监听的,发现不能移除,可能这个生命周期是在路由跳转完(keep-alive缓存的组件停用时调用)从而找不到那个this了,所以移除监听失败。 deactivated(){ window.removeEventListener('popstate',this.reload,true) } //所以采用组件内的路由守卫beforeRouteLeave,成功解决了移除监听事件。 beforeRouteLeave (to, from, next) { // 导航离开该组件的对应路由时调用 window.removeEventListener('popstate',this.reload,true) //这个一定要写到next()前面 next() } methods:{ reload(){ window.location.reload()//重新加载 } }
main.js
import {Component} from "vue-property-decorator"; Component.registerHooks([ 'beforeRouteLeave', ]);
就这样成功的解决IOS返回不刷新问题~欢迎小伙伴来交流
到此这篇关于vue中解决微信html5原生ios虚拟键返回不刷新问题的文章就介绍到这了,更多相关微信html5原生ios虚拟键返回不刷新内容请搜索狼蚁SEO以前的文章或继续浏览狼蚁网站SEO优化的相关文章希望大家以后多多支持狼蚁SEO!
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南