最近在微信H5页开发中遇到一个浏览器定位问题,使用geolocation定位时,IOS微信用户在点击三次取消授权定位后,页面就不会再弹窗提示获得定位授权。
经过调试发现错误信息是“Geolocation permission denied.” 浏览器默认认为用户已经拒绝授权获取位置,说明用户之前“不允许”操作已经被缓存下来,
尝试退出微信,清理微信缓存皆不奏效,后来搜索关于H5浏览器定位权限问题的解决办法,发现前辈文章http://www.skyfox.org/html5-geolocation-safari-user-permission-prompt.html 经过解读豁然开朗,
解决办法很鸡肋,需要在系统中就行清理缓存的设置:
设置->通用->还原->还原位置与隐私
还原设置后打开APP需要重新授予获取位置权限