为了账号安全,请及时绑定邮箱和手机立即绑定

Chrome中的HTML 5地理位置提示

Chrome中的HTML 5地理位置提示

素胚勾勒不出你 2019-10-17 15:00:04
刚刚开始进入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服务器。


查看完整回答
反对 回复 2019-10-17
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

以上都不对我有帮助。


经过一些研究,我发现从M50(2016年4月)开始,Chrome现在需要安全的来源(例如HTTPS)来进行Geolocation。


不安全来源的不推荐使用的功能


主机“ localhost”是特殊的,其“可能安全”。如果部署到开发计算机,则在开发过程中可能看不到错误。


查看完整回答
反对 回复 2019-10-17
  • 3 回答
  • 0 关注
  • 899 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信