AGo*_*ame 68 html5 google-chrome geolocation file-uri
刚刚开始进入HTML 5和测试地理位置...喜欢它到目前为止.我有点速度碰撞......当我试图获取我的地理位置时,chrome会自动阻止页面获取我的位置.这不会发生在其他网站,如下面的网站:
我正在使用的脚本:
<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');
}
Run Code Online (Sandbox Code Playgroud)
我正在我的机器上的本地目录中测试这个,所以没有像"http://whatever.com/mytestpage.html"这样的"域名".这是我没有得到提示的原因吗?如果是这样,是否可以强制浏览器请求获取用户地理位置的权限,是否可以在我的方案中使用?
rob*_*rtc 97
Chrome中存在某种安全限制,用于从file:///URI 使用地理位置,但不幸的是,它似乎没有记录任何错误来表明这一点.它可以在本地Web服务器上运行.如果安装了python,请尝试在测试文件所在的目录中打开命令提示符并发出命令:
python -m SimpleHTTPServer
Run Code Online (Sandbox Code Playgroud)
它应该在端口8000上启动一个Web服务器(可能是其他东西,但它会在控制台中告诉你它正在侦听哪个端口),然后浏览到http:// localhost:8000/mytestpage.html
如果您没有python,则Ruby中有相应的模块,或者Visual Web Developer Express附带内置的本地Web服务器.
Rya*_*yan 27
以上都没有帮助我.
经过一番研究后,我发现自M50(2016年4月)起,Chrome现在需要一个安全的来源(如HTTPS)进行地理定位.
主机"localhost"是特殊的b/c,它"具有潜在的安全性".如果要部署到开发计算机,则在开发期间可能看不到错误.
正如robertc在答案中已经提到的,Chrome会阻止某些功能,例如使用本地文件的地理位置.设置自己的Web服务器的更简单的替代方法是使用参数启动Chrome --allow-file-access-from-files.然后,您可以使用地理位置,前提是您未在设置中将其关闭.
| 归档时间: |
|
| 查看次数: |
94172 次 |
| 最近记录: |