【发布时间】:2019-03-14 19:26:30
【问题描述】:
有一小段 JavaScript 代码调用navigator.geolocation。
我有一个if 语句,如果用户允许呼叫,它可以显示纬度和经度。但是,else 部分没有运行。
如果我运行下面的代码,浏览器会提示我允许;如果我允许,则显示坐标。但是,如果我点击阻止,即使有 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>
【问题讨论】:
-
您查看过控制台日志吗?有什么有用的吗?
-
我认为 else 语句只有在浏览器不支持时才会被调用,如果被阻止则不会。
标签: javascript html web browser navigator