Javascript不断重新加载页面

时间:2015-08-31 22:46:41

标签: javascript

我有以下脚本重新加载页面,以便我可以获取纬度和经度变量。我想重新加载一次,然而,页面会一遍又一遍地重新刷新。我似乎无法弄清楚原因。任何见解都会非常有帮助。

请在下面找到我的代码:

window.onload = function getLocation () {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition);
    } else { 
        x.innerHTML = "Geolocation is not supported by this browser.";
    }
}
function showPosition (position) {
    window.location='location.php?  lat='+position.coords.latitude+'&long='+position.coords.longitude;
}

2 个答案:

答案 0 :(得分:2)

您永远不会检查是否设置了latlong参数,因此您需要不断刷新。为避免这种情况,您可以检查这些服务器端:

<?php
    if(isset($_GET['lat']) && isset($_GET['long'])){
?>
    <h1>I know where you are!</h1>
<?php
    } else {
?>
    <script>
        /* Your JS script */
    </script>
<?php
    }
?>

答案 1 :(得分:0)

如果params已经存在,听起来你不想重新加载页面。为此,请在showPosition函数中添加if子句:

function showPosition(position) 
{
  if(locationSet()) {
    window.location='location.php?  lat='+position.coords.latitude+'&long='+position.coords.longitude;
  }
}
function locationSet() {
  // TODO write function that parses window.location.search
  // for lat & long params & returns true if both set
}