Chrome中的HTML 5地理位置提示

刚刚开始进入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”这样的“域”。这就是为什么我没有得到提示吗?如果是这样,是否可以强制浏览器请求权限以获取用户的地理位置,在我的情况下是否可以?


素胚勾勒不出你
浏览 913回答 3
3回答

LEATH

Chrome中存在使用file:///URI 进行地理位置定位的某种安全限制,尽管很遗憾,它似乎并未记录任何错误来表明这一点。它将在本地Web服务器上工作。如果您已安装python,请尝试在测试文件所在的目录中打开命令提示符,然后发出命令:python -m SimpleHTTPServer它应该在端口8000上启动Web服务器(可能是其他端口,但是它将在控制台中告诉您正在侦听的端口),然后浏览到http:// localhost:8000 / mytestpage.html如果您没有python,则Ruby中有等效的模块,或者Visual Web Developer Express带有内置的本地Web服务器。

哈士奇WWW

以上都不对我有帮助。经过一些研究,我发现从M50(2016年4月)开始,Chrome现在需要安全的来源(例如HTTPS)来进行Geolocation。不安全来源的不推荐使用的功能主机“ localhost”是特殊的,其“可能安全”。如果部署到开发计算机,则在开发过程中可能看不到错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5