前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue-router小米浏览器iOS微信浏览器加参数不能正常跳转的解决方法

vue-router小米浏览器iOS微信浏览器加参数不能正常跳转的解决方法

作者头像
德顺
发布2020-03-31 10:31:25
1.3K0
发布2020-03-31 10:31:25
举报
文章被收录于专栏:前端资源

今天在项目中遇到一个问题,测试时发现使用 vue-router 的 this.$router.push 给 URL 添加参数,不能正常跳转。

浏览器测试可以正常跳转,使用 iOS 的微信浏览器访问时,不能正常跳转。

这是一个获取验证码的功能,获取成功后消息提示,然后会给当前链接添加一个邀请码的参数。

代码语言:javascript
复制
let path = this.$route.path;
this.$message.success('邀请链接已生成,请复制分享给好友', 5);
this.$router.push({path, query: {invitationcode: this.inviteCode}});

iOS 微信浏览器实际测试时发现不能跳转,于是我判断了一下 iOS ,如果是弹窗提示,然后用原生 js 进行跳转。

如果不是 iOS 直接使用 vue-router 进行跳转。

代码语言:javascript
复制
let path = this.$route.path;
const isIOS = !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) // ios终端
if (isIOS) {
  alert('您的专属链接已生成,点击确定跳转')
  window.location = path + '?invitationcode=' + this.inviteCode;
} else {
  this.$message.success('邀请链接已生成,请复制分享给好友', 5);
  this.$router.push({path, query: {invitationcode: this.inviteCode}});
}

但是之后发现小米浏览器也不能直接跳转,干脆直接用原生 js 跳转了。

代码语言:javascript
复制
let path = this.$route.path;
alert('您的专属链接已生成,点击确定跳转')
window.location = path + '?invitationcode=' + this.inviteCode;

本文已加入 腾讯云自媒体分享计划 (点击加入)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档