2016-01-20 33 views
3

我創建了一個擴展,我試圖獲取用戶的位置,以便我可以將它顯示給他們。如何從Chrome擴展中獲取用戶的位置?

我試着添加以下代碼:

var x = document.getElementById("ua"); 
function getLocation() { 
    if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(showPosition); 
    } else { 
     x.innerHTML = "Unavailable."; 
    } 
} 
function showPosition(position) { 
    x.innerHTML = "Latitude: " + position.coords.latitude + 
    "<br>Longitude: " + position.coords.longitude; 
} 

但沒有出現在延長,有什麼建議?我還試圖避免使用Chrome位置API,因爲它只能在Dev Channel上使用。

+0

你是在內容腳本或後臺頁面上做的嗎?你的背景頁面是否持久? – Xan

+0

我試圖讓它在popup.html中工作,我已經將代碼添加到popup.js中,當用戶單擊按鈕時應該調用它,但沒有任何反應。我測試了這個按鈕來顯示「測試」這個詞,當它被推送並且工作時,它只是不能獲得用戶的位置 – BillyMays

回答

4

Declare Permissions頁的文檔中列出了特別許可您的情況:

"geolocation"
允許的擴展程序或應用使用HTML5提出的地理位置API,而不提示權限的用戶。

您必須使用它,因爲某些擴展頁面(背景,彈出窗口)無法顯示權限信息欄。

+0

這個工作,非常感謝。我只是將「位置」添加到我的清單中,這是錯誤的。 – BillyMays

相關問題