剛剛開始進入HTML 5并測試地理位置...到目前為止為止。不過,我遇到了一些減速帶...當我嘗試獲取地理位置時,Chrome會自動阻止頁面獲取我的位置。在其他站點(例如以下站點)上不會發生這種情況:http://html5demos.com/geo我正在使用的腳本:<script type="text/javascript" JavaScript" SRC="geo.js"></script> <script type="text/javascript" JavaScript" SRC="Utility.js"></script> <script type="text/javascript" JavaScript" SRC="jquery.js"></script> <script type="text/javascript" JavaScript" SRC="modernizr.js"></script> function get_location() { if (geo_position_js.init()) { geo_position_js.getCurrentPosition(show_map, handle_error); } } function show_map(position) { var latitude = position.coords.latitude; var longitude = position.coords.longitude; alert("lat:" + latitude + " long:" + longitude); } function handle_error(err) { alert(err.code); if (err.code == 1) { // user said no! } } if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(show_map, handle_error); } else { error('not supported'); }我正在從計算機上的本地目錄進行測試,因此實際上并沒有像“ http://whatever.com/mytestpage.html”這樣的“域”。這就是為什么我沒有得到提示嗎?如果是這樣,是否可以強制瀏覽器請求權限以獲取用戶的地理位置,在我的情況下是否可以?
3 回答
LEATH
TA貢獻1936條經驗 獲得超7個贊
Chrome中存在使用file:///URI 進行地理位置定位的某種安全限制,盡管很遺憾,它似乎并未記錄任何錯誤來表明這一點。它將在本地Web服務器上工作。如果您已安裝python,請嘗試在測試文件所在的目錄中打開命令提示符,然后發出命令:
python -m SimpleHTTPServer
它應該在端口8000上啟動Web服務器(可能是其他端口,但是它將在控制臺中告訴您正在偵聽的端口),然后瀏覽到http:// localhost:8000 / mytestpage.html
如果您沒有python,則Ruby中有等效的模塊,或者Visual Web Developer Express帶有內置的本地Web服務器。
哈士奇WWW
TA貢獻1799條經驗 獲得超6個贊
以上都不對我有幫助。
經過一些研究,我發現從M50(2016年4月)開始,Chrome現在需要安全的來源(例如HTTPS)來進行Geolocation。
不安全來源的不推薦使用的功能
主機“ localhost”是特殊的,其“可能安全”。如果部署到開發計算機,則在開發過程中可能看不到錯誤。
- 3 回答
- 0 關注
- 941 瀏覽
添加回答
舉報
0/150
提交
取消
