0

我以这种相当简单的方式使用 Geolocation API:

if (navigator && navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(function(position){
        console.log("gettingPosition: " + position);
        myFunction(position(;
    }, function(error){
        console.log('did not get position');
        console.log(error);
    });     

}

在某些情况下(Firefox 12.0 是我面前的浏览器),如果用户单击“Not Now”,则不会触发回调,甚至不会触发错误。这是预期的吗?如果是这样,我唯一的选择是在接受请求并设置自己的超时时遵循地理定位反馈中的技术吗?

4

1 回答 1

1

这似乎是设计使然(对于 Firefox)。请参阅 Josh 在https://bugzilla.mozilla.org/show_bug.cgi?id=635175中的评论

逻辑是,单击“现在不”是用户关闭权限对话框而无需决定是否允许地理定位权限的一种方式。

看起来 FF16 和 Chrome-Latest 都是这样操作的。

(PS 不要射击信使。:p)

于 2012-11-20T00:05:28.767 回答