HTML5浏览器定位三次不允许定位后不再弹出定位授权提示框 |
您所在的位置:网站首页 › 微信提示位置信息怎么取消 › HTML5浏览器定位三次不允许定位后不再弹出定位授权提示框 |
最近在微信H5页开发中遇到一个浏览器定位问题,使用geolocation定位时,IOS微信用户在点击三次取消授权定位后,页面就不会再弹窗提示获得定位授权。 经过调试发现错误信息是“Geolocation permission denied.” 浏览器默认认为用户已经拒绝授权获取位置,说明用户之前“不允许”操作已经被缓存下来, 尝试退出微信,清理微信缓存皆不奏效,后来搜索关于H5浏览器定位权限问题的解决办法,发现前辈文章http://www.skyfox.org/html5-geolocation-safari-user-permission-prompt.html 经过解读豁然开朗, 不管是原生iOS APP嵌入单个h5页面,还是都是h5页面的webapp也好,只要涉及到定位都会遇到这个情况。当请求iOS开始定位的时候,会弹出一个提示框,提示你是否"允许"定位,允许定位继续下一步,如果一不小心点了下"不允许"之后,会发现,下次进到这个h5之后再也不会提示请求定位权限的提示框了。"不允许"被缓存了下来。再次调用geolocation会报 error.PERMISSION_DENIED 错误,而且没有相应的api能重启提示框。解决办法很鸡肋,需要在系统中就行清理缓存的设置: 设置->通用->还原->还原位置与隐私 还原设置后打开APP需要重新授予获取位置权限
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |