我正在使用的網站使用HTML5地理位置api。它工作正常,但我需要知道該功能是否已被授權。
navigator.geolocation
只會告知功能是否可用。我想知道的是用戶是否已經啓用它。基本上,我需要知道瀏覽器是否會請求使用該功能的權限。可能嗎?有沒有辦法知道當前域是否啓用地理定位?
3
A
回答
6
如果用戶不允許您的應用程序使用地理定位API方法getCurrentPosition
和watchPosition
將通過錯誤回調返回PositionError對象:
void getCurrentPosition(successCallback,
errorCallback,
options);
long watchPosition(successCallback,
errorCallback,
options);
的PositionError樣子:
PositionError {
code;
message;
};
其中代碼的可能值爲:
PositionError.PERMISSION_DENIED = 1;
PositionError.POSITION_UNAVAILABLE = 2;
PositionError.TIMEOUT = 3;
和更具體:
- PERMISSION_DENIED(數值1) 位置採集過程失敗,因爲該文件沒有使用地理位置API的權限。
該文檔here。
3
沒有檢查永久授權。
你可以做的唯一一件事是嘗試「猜測」用戶是否通過估計時間授權。
例如:
超過1.5秒檢索地理位置 - >用戶大概得 點擊式界面,讓AUTH
500ms以內 - >非常肯定用戶已經給AUTH
相關問題
- 1. 有沒有辦法知道Data Saver是否啓用?
- 2. 有沒有辦法知道當前有多少個webrole實例?
- 3. iPhone - 有沒有辦法知道引用是否(仍然)有效?
- 4. 有沒有辦法知道HTML表單當前正在提交?
- 5. 有沒有辦法知道用戶是否發送了短信?
- 6. 有沒有辦法知道異常是否被禁用?
- 7. 有沒有辦法知道用戶是否打開郵件?
- 8. 有沒有辦法知道文件名是否是Excel格式?
- 9. 有沒有辦法知道手機是否有通話?
- 10. 有沒有辦法知道timerTask是否已完成?
- 11. 有沒有辦法知道一行是否更新?
- 12. 有沒有辦法知道Flash Player是否安裝了SWFObject?
- 13. 有沒有辦法知道rxjs websocket是否打開
- 14. 有沒有辦法知道ExecutorService是否成功結束?
- 15. 有沒有辦法知道HttpResponse是否在Https中?
- 16. 有沒有辦法知道是否已經創建了IWin32Window?
- 17. 有沒有辦法知道$ http請求是否超時?
- 18. 有沒有辦法知道這裏是否是當前應用程序中的「回到應用程序」欄?
- 19. 有沒有辦法知道應用程序第一次啓動?
- 20. 有沒有辦法知道在foursquare中是否創建了新的場地?
- 21. iOS:有沒有辦法知道用戶是否選擇了退出通知?
- 22. 有沒有辦法知道一個實體是否由NHibernate管理?
- 23. 有沒有辦法知道你當前在使用哪個runloop或frame?
- 24. 有沒有辦法在mysql中知道你當前的用戶名?
- 25. 有沒有辦法知道,當有人導入附加的vCard?
- 26. 有沒有辦法讓webpack知道全局是否沒有聲明?
- 27. 有沒有辦法知道一個對象的C#方法是否被調用?
- 28. 有沒有辦法知道自定義通知即將顯示?
- 29. 有沒有辦法知道從UniversalLoader加載圖像的位置?
- 30. 有沒有辦法知道a-frame元素的「真實」位置?
爲什麼試着猜猜我們是否可以做錯誤處理? – sigmus