微信、QQ等内置浏览器定位失败 | 您所在的位置:网站首页 › 谷歌无法获取位置权限 › 微信、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 |
CopyRight 2018-2019 实验室设备网 版权所有 |