1
我在我的網站上有一個Google地圖,當他們點擊一個按鈕「獲取當前位置」時,我正在使用W3地理位置來檢測用戶位置。然後它應該彈出瀏覽器窗口頂部的allow/deny信息欄。檢測W3地理位置是否已被允許
我不想提示所有訪問者訪問地理位置訪問,但是想記住用戶是否已經允許地理位置並運行地理定位。
從我的研究中,這是不可能的,但我希望有人遇到過這種情況。我可以完成的唯一方法就是設置一個cookie。
謝謝!
我在我的網站上有一個Google地圖,當他們點擊一個按鈕「獲取當前位置」時,我正在使用W3地理位置來檢測用戶位置。然後它應該彈出瀏覽器窗口頂部的allow/deny信息欄。檢測W3地理位置是否已被允許
我不想提示所有訪問者訪問地理位置訪問,但是想記住用戶是否已經允許地理位置並運行地理定位。
從我的研究中,這是不可能的,但我希望有人遇到過這種情況。我可以完成的唯一方法就是設置一個cookie。
謝謝!
這不完全是你想要的,但我認爲這可能會有所幫助。
根據W3C draft,你可以嘗試從任何瀏覽器緩存值(沒有用戶的確認),或退回到自定義的方法,如果沒有緩存的價值發現。
假設用戶同意提供地理位置,它將被緩存。來自相同W3C草案的示例:
// Request a position. We only accept cached positions, no matter what
// their age is. If the user agent does not have a cached position at
// all, it will immediately invoke the error callback.
navigator.geolocation.getCurrentPosition(successCallback,
errorCallback,
{maximumAge:Infinity, timeout:0});
沒有API調用來知道用戶是否允許或不允許訪問位置。只顯示提示的getCurrentPosition或watchPosition。所以,設置cookie或以某種方式存儲用戶選擇似乎是唯一的方法。 – dmitry
Google Chrome不會再詢問用戶是否允許他檢測到他的位置。 – noob