刚刚开始进入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条经验 获得超6个赞
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 关注
- 912 浏览
添加回答
举报
0/150
提交
取消