2011-09-18 50 views
6

Ứng dụng của tôi được hỗ trợ bởi điện thoại di động jquery và sử dụng vị trí địa lý.Cách gọi hàm khi người dùng Cho phép hoặc Từ chối quyền truy cập vào "Vị trí thực tế"?

Sau những nỗ lực ứng dụng của tôi để có được vị trí của người dùng, các (Chrome) trình duyệt sẽ nhắc người dùng:

Example.com muốn theo dõi vị trí vật lý của bạn [cho phép] [chối]

Mục tiêu của tôi là:

  1. Nếu người dùng nhấp "Cho phép", chức năng 1 được gọi (vị trí được sử dụng theo ứng dụng).
  2. Nếu người dùng nhấp vào "Từ chối", chức năng 2 được gọi (mẫu địa chỉ xuất hiện).

Làm cách nào để liên kết một hàm với sự kiện xảy ra (nếu có) khi người dùng nhấp vào nút "Cho phép" hoặc "Từ chối"?

+0

Bạn có thể có lẽ không ràng buộc bất cứ điều gì cho những nút, nhưng những gì hiện các chức năng bạn gọi trở lại khi bạn bấm vào nút "từ chối"? –

+0

Khi "từ chối" được nhấp, người dùng được chuyển đến một trang mà họ sẽ điền vào địa chỉ của họ. Địa chỉ này sau đó được gửi đến một dịch vụ web trả về vị trí địa lý. – edt

Trả lời

14

Chức năng getCurrentPosition chấp nhận hai đối số hàm. Heck, cái đầu tiên được thực hiện khi bạn cho phép và cái kia khi bạn từ chối!

Documentation

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

navigator.geolocation.getCurrentPosition(function(position) { 
    alert('allow'); 
}, function() { 
    alert('deny'); 
}); 
+4

Có sự kiện nào kích hoạt khi người dùng chỉ cần bỏ qua hộp thoại hoặc chọn 'không phải bây giờ' (trong Firefox), thay vì nhấp vào 'từ chối'? –

+0

Điều này không hoạt động trong FF. –

+2

Điều này không hoạt động chính xác. Tôi ước nó đã làm. Tôi nhận được một vài giây của không có gì trước khi sự kiện này, hoặc cảnh báo trong ví dụ này, cháy. Vì vậy, người dùng không có phản hồi nào trong vài giây, điều đó thật tệ ... –

Các vấn đề liên quan