当用户允许或拒绝访问"物理位置"时如何调用函数?

edt*_*edt 8 javascript geolocation jquery-mobile jquery-events

我的应用程序由jquery mobile提供支持并使用地理定位.

在我的应用程序尝试获取用户的位置后,(Chrome)浏览器会提示用户:

Example.com想跟踪你的物理位置[允许] [deny]

我的目标是:

  1. 如果用户单击"允许",则调用功能1(应用程序使用位置).
  2. 如果用户单击"拒绝",则调用功能2(显示地址表单).

当用户单击"允许"或"拒绝"按钮时,如何将函数绑定到发生的事件(如果有)?

pim*_*vdb 18

getCurrentPosition函数接受两个函数参数.哎呀,第一个是你允许时执行的,另一个是你否认的时候!

文档

http://jsfiddle.net/pimvdb/QbRHg/

navigator.geolocation.getCurrentPosition(function(position) {
    alert('allow');
}, function() {
    alert('deny');
});
Run Code Online (Sandbox Code Playgroud)

  • 当用户简单地解除对话框或选择"不是现在"(在Firefox中)而不是单击"拒绝"时,是否会触发事件? (4认同)
  • 这不起作用.我希望它能做到.在事件发生之前我得到了几秒钟,或者在这个例子中发出警报.因此,用户在几秒钟内没有反馈,这很糟糕...... (2认同)