解决微信授权成功后点击按返回键出现空白页和报错的问题


Posted in Javascript onJune 08, 2020

微信授权 的操作可以阅读我的另一篇文章 https://3water.com/article/188237.htm

微信授权我是 在index.vue做的授权,是一个空白页,因为授权需要回调所以这个页面会刷新两次,当我们授权成功进入主页面后,点击返回键或者点击手机的物理返回键,因为浏览器history机制,按物理返回或者返回肯定是会进入这个授权页面的,而此时code已经使用过,会报code错误,而且这个是空白页,多次点击也并不能回到微信的消息列表页,体验极差。。。

我的做法是引入微信的js sdk,使用vue-router 路由导航beforeEach 中的 to(即将到达的页面)和from(当前页面)来做判断,假如to是授权页,from是授权成功后首次进入的页面,在from页面点击返回 ,路由监听到这一满足条件就 调用 微信 wx.closeWindow() 方法即可关闭当前页面回到消息列表页,不是使用vue来开发的项目原理大概也是类似的。

具体代码如下:

①引入微信sdk,npm install 相对应的包即可。

解决微信授权成功后点击按返回键出现空白页和报错的问题

②在路由配置页面配置路由守卫。

解决微信授权成功后点击按返回键出现空白页和报错的问题

router.beforeEach((to, from, next) => {
  // 特殊处理授权成功后的user个人中心页面点击返回退出到微信消息列表页
  let mark = to.fullPath.indexOf('code')
  if (mark !== -1 && from.fullPath === '/user') {
    wx.closeWindow()
  }
})

因为微信授权页授权成功必会在url中带 code,所有我是通过判断路径中是否有 code认定是授权页(可能这种方式)不妥,但能确认to和from两个条件满足即可。

到此这篇关于解决微信授权成功后点击按返回键出现空白页和报错的问题的文章就介绍到这了,更多相关微信返回键出现空白页和报错内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
对JavaScript的eval()中使用函数的进一步讨论
Jul 26 Javascript
js返回上一页并刷新代码整理
Dec 21 Javascript
jquery 图片缩放拖动的简单实例
Jan 08 Javascript
Javascript中3种实现继承的方法和代码实例
Aug 12 Javascript
js使用循环清空某个div中的input标签值
Sep 29 Javascript
js实现仿网易点击弹出提示同时背景变暗效果
Aug 13 Javascript
javascript模拟C#格式化字符串
Aug 26 Javascript
jQuery Ajax 全局调用封装实例代码详解
Jun 02 Javascript
js 创建对象 经典模式全面了解
Aug 16 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
Dec 31 Javascript
jQuery中绑定事件bind() on() live() one()的异同
Feb 23 Javascript
vue中如何引入jQuery和Bootstrap
Apr 10 jQuery
微信h5静默和非静默授权获取用户openId的方法和步骤
Jun 08 #Javascript
基于javascript处理二进制图片流过程详解
Jun 08 #Javascript
vue-router的hooks用法详解
Jun 08 #Javascript
Vue自定义render统一项目组弹框功能
Jun 07 #Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
Jun 07 #Javascript
Electron整合React使用搭建开发环境的步骤详解
Jun 07 #Javascript
vue路由权限校验功能的实现代码
Jun 07 #Javascript
You might like
分页显示Oracle数据库记录的类之一
2006/10/09 PHP
php&java(二)
2006/10/09 PHP
php输出全球各个时区列表的方法
2015/03/31 PHP
教你在header中隐藏php的版本信息
2016/08/10 PHP
PHP 自动加载的简单实现(推荐)
2016/08/12 PHP
javascript获取网页中指定节点的父节点、子节点的方法小结
2013/04/24 Javascript
javascript贪吃蛇完整版(源码)
2013/12/09 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
JS打字效果的动态菜单代码分享
2015/08/21 Javascript
跟我学习javascript的执行上下文
2015/11/18 Javascript
实现React单页应用的方法详解
2016/08/02 Javascript
js实现图片淡入淡出切换简易效果
2016/08/22 Javascript
js a标签点击事件
2017/03/30 Javascript
Angular.js中angular-ui-router的简单实践
2017/07/18 Javascript
详解AngularJS 过滤器的使用
2018/06/02 Javascript
Nodejs Express 通过log4js写日志到Logstash(ELK)
2018/08/30 NodeJs
vue模仿网易云音乐的单页面应用
2019/04/24 Javascript
微信小程序mpvue点击按钮获取button值的方法
2019/05/29 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
2019/09/23 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
axios解决高并发的方法:axios.all()与axios.spread()的操作
2020/11/09 Javascript
[01:09:01]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第一场 10.28
2020/10/28 DOTA
跟老齐学Python之复习if语句
2014/10/02 Python
Python进程间通信用法实例
2015/06/04 Python
详解Python自建logging模块
2018/01/29 Python
Python爬虫常用库的安装及其环境配置
2018/09/19 Python
centos 安装Python3 及对应的pip教程详解
2019/06/28 Python
解决django-xadmin列表页filter关联对象搜索问题
2019/11/15 Python
学生自我鉴定模板
2013/12/30 职场文书
新员工试用期自我鉴定
2014/04/17 职场文书
卫生系统先进事迹
2014/05/13 职场文书
培养联系人考察意见
2015/06/01 职场文书
微观世界观后感
2015/06/10 职场文书
永远是春天观后感
2015/06/12 职场文书
springboot+rabbitmq实现智能家居实例详解
2022/07/23 Java/Android
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS