2011-06-02 72 views
6

我使用此代碼來獲取用戶地理位置。一切順利,直到用戶拒絕獲取位置的權限。看起來這個選項被緩存了,我不知道如何重置它。地理位置API權限網絡瀏覽器

有什麼方法可以重新詢問權限嗎?提前致謝!

if (navigator.geolocation) {            

     navigator.geolocation.getCurrentPosition(function(position) {  

      // Success Callback 


     }, function(error) { 
      //error Callback 

     },{ 
        //options 
      }); 
    }else{ 
     //geolocation not available 
    } 

回答

1

很確定這是每個網站存儲的瀏覽器/設備設置。我認爲重點在於你不能從腳本中重置它,因爲它首先會打敗提示點。我相信重置的唯一方法是更改​​瀏覽器/設備中的設置。

1

像bgreater說的那樣,它取決於瀏覽器。但是,當用戶拒絕獲取位置錯誤函數的權限將被調用錯誤對象。此錯誤對象包含錯誤代碼。當錯誤代碼等於1時,表示用戶拒絕權限。

var errorTypes = { 
    0: "Unknown error", 
    1: "Permission denied by user", 
    2: "Position is not available", 
    3: "Request timed out" 
}; 

我想,你可以檢查這個錯誤代碼並向用戶顯示某種信息。