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


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中令你抓狂的魔术变量
Nov 30 Javascript
Javascript公共脚本库系列(一): 弹出层脚本
Feb 24 Javascript
jquery判断元素是否隐藏的多种方法
May 06 Javascript
angularJS 中$attrs方法使用指南
Feb 09 Javascript
js和jquery分别验证单选框、复选框、下拉框
Dec 17 Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
Jan 10 Javascript
jstl中判断list中是否包含某个值的简单方法
Oct 14 Javascript
关于微信上网页图片点击全屏放大效果
Dec 19 Javascript
jQuery插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
Mar 22 jQuery
简单谈谈原生js的math对象
Jun 27 Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
Feb 02 Javascript
关于vue.js中实现方法内某些代码延时执行
Nov 14 Javascript
微信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
解析thinkphp基本配置 convention.php
2013/06/18 PHP
PHP实现将textarea的值根据回车换行拆分至数组
2015/06/10 PHP
PHP实现通过get方式识别用户发送邮件的方法
2015/07/16 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
2021/03/09 PHP
15条JavaScript最佳实践小结
2013/08/09 Javascript
在子窗口中关闭父窗口的一句代码
2013/10/21 Javascript
JS控制输入框内字符串长度
2014/05/21 Javascript
Javascript基础教程之argument 详解
2015/01/18 Javascript
JavaScript DOM基础
2015/04/13 Javascript
jquery仿百度百科底部浮动导航特效
2015/08/08 Javascript
jQuery图片渐变特效的简单实现
2016/06/25 Javascript
JavaScript解析JSON格式数据的方法示例
2017/01/24 Javascript
利用JavaScript实现栈的数据结构示例代码
2017/08/02 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
2020/04/07 Javascript
vue实现购物车加减
2020/05/30 Javascript
python实现二叉查找树实例代码
2018/02/08 Python
PyQt5 QSerialPort子线程操作的实现
2018/04/21 Python
python的pandas工具包,保存.csv文件时不要表头的实例
2018/06/14 Python
Python字典遍历操作实例小结
2019/03/05 Python
OpenCV-Python 摄像头实时检测人脸代码实例
2019/04/30 Python
python3字符串操作总结
2019/07/24 Python
Python 二叉树的层序建立与三种遍历实现详解
2019/07/29 Python
Python3 列表,数组,矩阵的相互转换的方法示例
2019/08/05 Python
Python文本处理简单易懂方法解析
2019/12/19 Python
Python 实现向word(docx)中输出
2020/02/13 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
使用OpenCV对车道进行实时检测的实现示例代码
2020/06/19 Python
Python2与Python3关于字符串编码处理的差别总结
2020/09/07 Python
python链表类中获取元素实例方法
2021/02/23 Python
美国排名第一的葡萄酒俱乐部:Firstleaf Wine Club
2020/01/02 全球购物
this关键字的含义
2015/04/08 面试题
自我鉴定范文
2013/11/10 职场文书
2014年应届大学生自我评价
2014/01/09 职场文书
我的祖国演讲稿
2014/05/04 职场文书
学校先进集体事迹材料
2014/05/31 职场文书