Javascript浏览器导航器权限其他部分未触发
有一小段javascript代码,可以调用Javascript浏览器导航器权限其他部分未触发,javascript,html,web,browser,navigator,Javascript,Html,Web,Browser,Navigator,有一小段javascript代码,可以调用navigator.geolocation 我有一个if语句,如果用户允许调用,它可以显示纬度和经度。但是,else部分没有运行 如果我运行下面的代码,浏览器会提示我允许;如果我允许,则显示坐标。然而,如果我点击block,即使有else部分,也不会发生任何事情 <body> <br> <p id="ChangeSring">Test</p> <script> var x = doc
navigator.geolocation
我有一个if
语句,如果用户允许调用,它可以显示纬度和经度。但是,else
部分没有运行
如果我运行下面的代码,浏览器会提示我允许;如果我允许,则显示坐标。然而,如果我点击block,即使有else
部分,也不会发生任何事情
<body>
<br> <p id="ChangeSring">Test</p>
<script>
var x = document.getElementById("ChangeSring");
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(SavePosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
document.cookie = 'location=false;path=/form_handler';
}
function SavePosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
document.cookie = 'location=true;path=/form_handler';
document.cookie = 'latitude='+ position.coords.latitude +';path=/form_handler';
document.cookie = 'longitude='+ position.coords.longitude +';path=/form_handler';
}
</script>
<form action="/form_handler" _lpchecked="1">
Enter value:
<input type="text" name="SomeVar"><br>
<input type="submit" value="search">
</form>
</body>
测试
var x=document.getElementById(“变更”);
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(SavePosition);
}否则{
x、 innerHTML=“此浏览器不支持地理位置。”;
document.cookie='location=false;path=/form_handler';
}
功能保存位置(位置){
x、 innerHTML=“纬度:”+position.coords.Latitude+
“
经度:”+position.coords.Longitude;
document.cookie='location=true;path=/form_handler';
document.cookie='latitude='+position.coords.latitude+';path=/form_handler';
document.cookie='longitude='+position.coords.longitude+';path=/form_handler';
}
输入值:
您不能使用else
检查权限
navigator方法接受成功和错误回调。
如果权限被拒绝,将调用错误回调
if(navigator.geolocation){//检查是否支持navigator
navigator.geolocation.getCurrentPosition(console.log,()=>{
console.log('权限被拒绝')
});
}否则{
console.log('此浏览器不支持地理位置');
}
getCurrentPosition执行成功
和错误
功能。
参考:
if else语句正在检查if navigator.geolocation它不是未定义的(即使您不想让浏览器知道您的位置也不是),请按照其他答案正确处理权限查看控制台日志了吗?有什么有用的吗?我认为只有在浏览器不支持else语句时才会调用它,而不是在被阻止时。
function errorGettingPosition(positionError) {
x.innerHTML = "Geolocation is not supported by this browser.";
document.cookie = 'location=false;path=/form_handler';
}
navigator.geolocation.getCurrentPosition(SavePosition, errorGettingPosition)