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


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 相关文章推荐
jQuery把表单元素变为json对象
Nov 06 Javascript
利用js判断浏览器类型(是否为IE,Firefox,Opera浏览器)
Nov 22 Javascript
JavaScript中实现map功能代码分享
Jun 11 Javascript
javascript自动切换焦点控制效果完整实例
Feb 02 Javascript
JS实现的跨浏览器解析XML文件实例
Jun 21 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
Nov 16 Javascript
JavaScript实现经典排序算法之插入排序
Dec 28 Javascript
jQuery实现ajax无刷新分页页码控件
Feb 28 Javascript
详解webpack引入第三方库的方式以及注意事项
Jan 15 Javascript
Js通过AES加密后PHP用Openssl解密的方法
Jul 12 Javascript
bootstrap实现嵌套模态框的实例代码
Jan 10 Javascript
Node.js实现批量下载图片简单操作示例
Jan 18 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
理解PHP中的stdClass类
2014/04/18 PHP
PHP simplexml_import_dom()函数讲解
2019/02/03 PHP
PHP goto语句用法实例
2019/08/06 PHP
Laravel使用模型实现like模糊查询的例子
2019/10/24 PHP
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
javascript 面向对象思想 附源码
2009/07/07 Javascript
JS图片切换的具体方法(带缩略图版)
2013/11/12 Javascript
理解javascript中的回调函数(callback)
2014/09/02 Javascript
JavaScript获取网页中第一个图片id的方法
2015/04/03 Javascript
jquery遍历table的tr获取td的值实现方法
2016/05/19 Javascript
checkbox批量选中,获取选中项的值的简单实例
2016/06/28 Javascript
利用css+原生js制作简单的钟表
2020/04/07 Javascript
使用jQuery5分钟快速搞定双色表格的简单实例
2016/08/08 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
js微信分享实现代码
2020/10/11 Javascript
微信小程序顶部可滚动导航效果
2017/10/31 Javascript
JS实现的抛物线运动效果示例
2018/01/30 Javascript
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
[49:21]2018DOTA2亚洲邀请赛3月30日 小组赛B组 Effect VS iG
2018/03/31 DOTA
Python连接mysql数据库的正确姿势
2016/02/03 Python
Python控制键盘鼠标pynput的详细用法
2019/01/28 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
2019/04/11 Python
Django给admin添加Action的步骤详解
2019/05/01 Python
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
巴西男士个人护理产品商店:SHOP4MEN
2017/08/07 全球购物
荷兰超市:DEEN
2018/03/14 全球购物
Gucci法国官方网站:意大利奢侈品牌
2018/07/25 全球购物
成都思必达公司C#程序员招聘面试题
2013/06/26 面试题
日语翻译个人求职的自我评价
2013/10/14 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
2016年“我们的节日·端午节”活动总结
2016/04/01 职场文书
pytorch常用数据类型所占字节数对照表一览
2021/05/17 Python
Python 如何将integer转化为罗马数(3999以内)
2021/06/05 Python
ObjectMapper 如何忽略字段大小写
2021/06/29 Java/Android