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


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 isArray()函数判断对象类型的种种方法
Oct 11 Javascript
JavaScript中的类与实例实现方法
Jan 23 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
Dec 03 Javascript
JavaScript判断对象是否为数组
Dec 22 Javascript
AngularJS中的包含详细介绍及实现示例
Jul 28 Javascript
基于JavaScript实现在新的tab页打开url
Aug 04 Javascript
jQuery事件绑定方法学习总结(推荐)
Nov 21 Javascript
红黑树的插入详解及Javascript实现方法示例
Mar 26 Javascript
Layui 设置select下拉框自动选中某项的方法
Aug 14 Javascript
利用node 判断打开的是文件 还是 文件夹的实例
Jun 10 Javascript
JS运算符简单用法示例
Jan 19 Javascript
vue props 单项数据流实例分享
Feb 16 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时间不正确的解决方法
2008/04/09 PHP
php中批量替换文件名的实现代码
2011/07/20 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
2016/05/27 PHP
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
javascript 必知必会之closure
2009/09/21 Javascript
JQuery 自定义CircleAnimation,Animate方法学习笔记
2011/07/10 Javascript
flash调用js中的方法,让js传递变量给flash的办法及思路
2013/08/07 Javascript
JavaScript中getUTCMinutes()方法的使用详解
2015/06/10 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
原生js模拟淘宝购物车项目实战
2015/11/18 Javascript
Bootstrap学习笔记之css样式设计(1)
2016/06/07 Javascript
js 实现数值的千分位及保存小数方法(推荐)
2016/08/01 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
vue父组件点击触发子组件事件的实例讲解
2018/02/08 Javascript
vue + vuex todolist的实现示例代码
2018/03/09 Javascript
jquery多级树形下拉菜单的实例代码
2019/07/09 jQuery
小程序使用watch监听数据变化的方法详解
2019/09/20 Javascript
多页vue应用的单页面打包方法(内含打包模式的应用)
2020/06/11 Javascript
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
js实现验证码干扰(动态)
2021/02/23 Javascript
[10:42]Team Liquid Vs Newbee
2018/06/07 DOTA
python3序列化与反序列化用法实例
2015/05/26 Python
numpy自动生成数组详解
2017/12/15 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
Python爬虫PyQuery库基本用法入门教程
2018/08/04 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
对python3 Serial 串口助手的接收读取数据方法详解
2019/06/12 Python
Django封装交互接口代码
2020/07/12 Python
Pygame框架实现飞机大战
2020/08/07 Python
SQL Server笔试题
2012/01/10 面试题
新年晚会主持词
2014/03/24 职场文书
1000字打架检讨书
2014/11/03 职场文书
出纳2015年度工作总结范文
2015/10/14 职场文书
餐厅如何利用“营销策略”扭转亏本局面
2019/10/15 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL
javascript之Object.assign()的痛点分析
2022/03/03 Javascript