微信、QQ等内置浏览器定位失败

场景:微信7.0 苹果可以获取到定位 安卓获取不到定位

原因:微信升级7.0做了安全限制 导致使用http的定位不能正常使用

解决办法:升级https 且是正规的SSL证书 自签名的证书 证书链不完整也是不行的

注意:页面使用jssdk都需要使用https调用

微信升级7.0之前 公众号网页一直稳定的运行,升级7.0以后问题爆发 体现在使用高德地图上无法获取定位问题,打印高德地图返回的信息  提示是 Geolocation permission denied 查阅文档 说可能是以下问题导致:

Geolocation permission denied:用户禁用了定位权限,需要用户开启设备和浏览器的定位权限,并在浏览器弹窗中点击“允许使用定位”选项。   
Geolocation permission denied:浏览器禁止了非安全域的定位请求,比如Chrome、IOS10已陆续禁止,这时候需要升级站点到HTTPS。
详细查看文档:Geolocation的定位流程以及定位失败的原因

因为手机其他浏览器开启定位都可以获取到定位 唯独在微信内置浏览器不行 然后一直纠结在不是微信没有定位权限了 直到昨天排查 有人提出是微信升级7.0以后出现的问题 而且同类型公众号的高德地图定位是可以使用的 抓包对比了一下 只有https和http的不同,所以 我去验证了微信7.0升级后苹果和安卓的对比 苹果是可以正常获取定位授权 只有安卓微信7.0以后获取不到  7.0之前的版本是可以的。

于是去百度了微信7.0升级的影响以及有没有人和我同问题的 ,终于在一个博客下发现原由:

由于微信7.0版本升级了对https的安全限制,在微信7.0版本及以上版本使用http协议访问定位组件会导致定位失败。

另外ISO10也限制了非安全域的浏览器定位请求。
————————————————
版权声明:本文为CSDN博主「鱼被吃了」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qy_0626/article/details/86550821

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值