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


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 相关文章推荐
(function($){...})(jQuery)的意思
Jul 22 Javascript
基于jquery的大众点评,分类导航实现代码
Aug 23 Javascript
JQuery拖拽元素改变大小尺寸实现代码
Dec 10 Javascript
javascript截取字符串(通过substring实现并支持中英文混合)
Jun 24 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
Mar 01 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
May 27 Javascript
浅谈移动端之js touch事件 手势滑动事件
Nov 07 Javascript
jQuery实现弹出窗口弹出div层的实例代码
Jan 09 Javascript
requireJS模块化实现返回顶部功能的方法详解
Oct 16 Javascript
CSS3 动画卡顿性能优化的完美解决方案
Sep 20 Javascript
详解Angular Forms中自定义ngModel绑定值的方式
Dec 10 Javascript
vue中的v-model原理,与组件自定义v-model详解
Aug 04 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
资料注册后发信小技巧
2006/10/09 PHP
PHP集成FCK的函数代码
2008/09/27 PHP
PHP实现股票趋势图和柱形图
2015/02/07 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
PHP连接MySQL数据库操作代码实例解析
2020/07/11 PHP
javascript 精粹笔记
2010/05/09 Javascript
JavaScript类型转换方法及需要注意的问题小结(挺全面)
2010/11/11 Javascript
图片上传插件jquery.uploadify详解
2013/11/15 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
2014/05/27 Javascript
深入理解JS中的substr和substring
2016/04/26 Javascript
BootStrap实现轮播图效果(收藏)
2016/12/30 Javascript
详解JavaScript按概率随机生成事件
2017/08/02 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
基于Vue实现平滑过渡的拖拽排序功能
2019/06/12 Javascript
vue中的v-if和v-show的区别详解
2019/09/01 Javascript
selenium+java中用js来完成日期的修改
2019/10/31 Javascript
vue-socket.io接收不到数据问题的解决方法
2020/05/13 Javascript
[59:30]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
Python实现读取txt文件并画三维图简单代码示例
2017/12/09 Python
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
Jupyter中直接显示Matplotlib的图形方法
2018/05/24 Python
python多进程使用及线程池的使用方法代码详解
2018/10/24 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
2019/02/21 Python
使用Tensorflow将自己的数据分割成batch训练实例
2020/01/20 Python
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
关于HTML5语义标签的实践(blog页面)
2016/07/12 HTML / CSS
某公司面试题
2012/03/05 面试题
母亲节演讲稿范文
2014/01/02 职场文书
会计专业毕业生求职信分享
2014/01/03 职场文书
护理专科毕业生自荐书范文
2014/02/19 职场文书
就业协议书范本
2014/10/08 职场文书
2014办公室年度工作总结
2014/12/09 职场文书
2015年惩防体系建设工作总结
2015/05/22 职场文书
同意转租证明
2015/06/24 职场文书
修辞手法有哪些?
2019/08/29 职场文书
SpringRetry重试框架的具体使用
2021/07/25 Java/Android