到目前为止,我刚刚开始进入HTML5,并对其进行了地理位置测试。我遇到了一点障碍though...when当我试图获取我的地理位置时,chrome会自动阻止页面获取我的位置。其他站点不会发生这种情况,例如下面的站点:
http://html5demos.com/geo
我正在使用的脚本:
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“
..。这就是我没有得到提示的原因吗?如果是这样,是否可以强制浏览器请求权限以获取用户的地理位置?在我的场景中是否可以?
发布于 2011-03-25 19:30:03
在Chrome中使用地理位置时存在某种安全限制
URI,但不幸的是,它似乎没有记录任何错误来表明这一点。它将从本地web服务器运行。如果您安装了python,请尝试在测试文件所在的目录中打开命令提示符,然后发出以下命令:
python -m SimpleHTTPServer
它应该在端口8000上启动一个web服务器(可能是其他的东西,但它会在控制台中告诉您它正在侦听哪个端口),然后浏览到
http://localhost:8000/mytestpage.html
如果您没有python,Ruby中也有相应的模块,或者Visual Web Developer Express附带了一个内置的本地web服务器。
发布于 2016-05-12 01:33:19
以上这些都没有帮到我。
经过一些研究,我发现在M50 (2016年4月)-
Chrome现在需要安全的地理位置源(如HTTPS
..。
不安全源上不推荐使用的功能
主机"localhost“是特殊的b/c它的”潜在安全“。如果正在部署到开发计算机,则在开发过程中可能看不到错误。
发布于 2015-10-23 16:11:46
正如robertc在回答中提到的,Chrome屏蔽了某些功能,比如包含本地文件的地理位置。设置自己的web服务器的一种更简单的替代方法是
使用参数启动Chrome
..。然后你可以使用地理位置,前提是你没有在你的设置中关闭它。
https://stackoverflow.com/questions/5423938
复制相似问题