在网上下载了一个源码.但是在pc端浏览器打开页面,直接就提示 "请在微信客户端打开链接",怎么把这个功能去掉?
还有就是这个功能怎么实现的?
难道是单纯的js脚本window.location跳转?
在网上下载了一个源码.但是在pc端浏览器打开页面,直接就提示 "请在微信客户端打开链接",怎么把这个功能去掉?
还有就是这个功能怎么实现的?
难道是单纯的js脚本window.location跳转?
一般存在两种情况
一 存在对客户端的判断 如果不是微信 则弹出提示
is_weixin: function(){
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger") {
return true;
} else {
return false;
}
},
二 存在微信网页授权的情况
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
//redirect_uri 这个才是你真正的链接
这种情况是用户在微信客户端中访问第三方网页,在用户点击授权后,公众号可以通过微信网页授权机制,来获取用户基本信息 比如微信头像 微信用户昵称,所以场景是必须要在微信端的,微信会对此做一个限制不是微信端的话会出提示
5 回答1.3k 阅读
5 回答2.2k 阅读
2 回答1.2k 阅读✓ 已解决
2 回答746 阅读✓ 已解决
2 回答1.5k 阅读
4 回答987 阅读✓ 已解决
2 回答738 阅读✓ 已解决
https://mp.weixin.qq.com/wiki...
触发微信登录授权就会提示这个 实际上你访问的是微信的授权链接 并不是你自己的网页
https://open.weixin.qq.com/connect/oauth2/authorize?appid=你的公众号appid&redirect_uri=登录成功后重定向的地址&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
去掉这个判断可以模拟
UA
来实现 判断微信浏览器的标准是UA
中包含MicroMessenger
字符串例如:
Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B329 MicroMessenger/5.0.1
但即使你模拟了也没什么用 因为还是需要微信登录