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


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 (十) jQueryUI常用功能实战
Feb 23 Javascript
jQuery extend 的简单实例
Sep 18 Javascript
jQuery DOM插入节点操作指南
Mar 03 Javascript
实例详解jQuery表单验证插件validate
Jan 18 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
Jan 19 Javascript
全面解析Javascript无限添加QQ好友原理
Jun 15 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
Apr 21 jQuery
详解vue-router和vue-cli以及组件之间的传值
Jul 04 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
Nov 22 Javascript
Element ui 下拉多选时新增一个选择所有的选项
Aug 21 Javascript
LayUi数据表格自定义赋值方式
Oct 26 Javascript
何时使用Map来代替普通的JS对象
Apr 29 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
如何批量替换相对地址为绝对地址(利用bat批处理实现)
2013/05/27 PHP
PHP从尾到头打印链表实例讲解
2018/09/27 PHP
jQuery 性能优化指南(3)
2009/05/21 Javascript
jQuery-onload让第一次页面加载时图片是淡入方式显示
2012/05/23 Javascript
js 取时间差去掉周六周日实现代码
2012/12/25 Javascript
js实现点击注册按钮开始读秒倒计时的小例子
2013/05/11 Javascript
ajax与302响应代码测试
2013/10/23 Javascript
对table和ul实现js分页示例分享
2014/02/24 Javascript
详解JavaScript中undefined与null的区别
2014/03/29 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
JQuery实现当鼠标停留在某区域3秒后自动执行
2014/09/09 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
2014/10/29 Javascript
js实现的tab标签切换效果代码分享
2015/08/25 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
2018/01/13 Javascript
Angular模版驱动表单的使用总结
2018/05/05 Javascript
vue.js 中使用(...)运算符报错的解决方法
2018/08/09 Javascript
element-ui中Table表格省市区合并单元格的方法实现
2019/08/07 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
2020/01/05 Javascript
Vue实现剪切板图片压缩功能
2020/02/04 Javascript
VueCli生产环境打包部署跨域失败的解决
2020/11/13 Javascript
python实现从字符串中找出字符1的位置以及个数的方法
2014/08/25 Python
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
Python金融数据可视化汇总
2017/11/17 Python
Django处理文件上传File Uploads的实例
2018/05/28 Python
对Python实现简单的API接口实例讲解
2018/12/10 Python
python 实现list或string按指定分段
2019/12/25 Python
pytorch 数据处理:定义自己的数据集合实例
2019/12/31 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
2020/05/15 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
Python子进程subpocess原理及用法解析
2020/07/16 Python
基于HTML5新特性Mutation Observer实现编辑器的撤销和回退操作
2016/01/11 HTML / CSS
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
沙特阿拉伯电子产品和家用电器购物网站:Black Box
2019/07/24 全球购物
副科级后备干部考察材料
2014/05/15 职场文书
消防演习感想
2015/08/10 职场文书
移除Selenium中window.navigator.webdriver值
2022/06/10 Python