下面是使用 HTML5 地理定位来获取用户的纬度和经度坐标的基本代码片段。然后它将值存储在 userLat 和 userLng 中。
出于测试目的,我添加了一个基本的 document.getElementById().innerHTML 代码段。如果我将该代码块移动到原始 block ,它就可以正常工作。但是,如果我将其移动到它自己的 block (如图所示),则不会对该变量给出任何响应。如何全局分配这两个变量,以便我可以在第一个标签之外访问它们的值?
谢谢。
<script>
var userLat;
var userLng;
function getLocation() {
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(storeLocation);
}
}
function storeLocation(position) {
window.userLat = position.coords.latitude;
window.userLng = position.coords.longitude;
}
window.onload = getLocation;
</script>
<script>
document.getElementById("userLocationInfo").innerHTML="Latitude: " + userLat + "<br>Longitude: " + userLng;
</script>
最佳答案
因为下面的脚本首先执行,而不是函数 getLocation,因为该函数是在窗口完全加载时调用的。
您正在尝试在 userLat 和 usrLng 被分配任何值之前使用它们
关于javascript - 在不同的 <script> block 中访问 JavaScript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18725802/