Javascript 函数调用 navigator.geolocation.getCurrentPosition 经常提



目前,我的公司有Web应用程序,希望提供有关用户当前地理位置的服务。

我们这样称呼位置服务(标准):

navigator.geolocation.getCurrentPosition( function( position ) {
     var _lat = Math.round( position.coords.latitude * 1000 ) / 1000;
     var _lon = Math.round( position.coords.longitude * 1000 ) / 1000;
     doThis( _lat, _lon ); }, function( error ) {doThat( 0, 0 );} );

当我使用不同的最新版本浏览器和自定义设置测试我的 Web 应用程序时,许多浏览器经常要求用户允许跟踪他的地理位置。每次调用navigator.geolocation.getCurrentPosition时,Safari都会询问,移动Safari在会话中一次,Chrome会立即将页面保存在设置中并且不再提示用户,移动Internet Explorer似乎可以保存权限24小时。有没有办法以编程方式欺骗浏览器,让他的行为像 Chrome(保存权限)?我认为当浏览器经常要求此权限时,这有点烦人且不是很用户友好,因为如果用户不想被跟踪并且我们希望提供用户友好的服务,他无论如何都可以关闭位置跟踪。

不,你不能。该部分完全在浏览器及其设置的域中。用户可以根据自己的需要配置他的浏览器,网站不应该这样做。

最新更新