Javascript一直在重新加载页面
我有下面的脚本,可以重新加载页面,以便获取纬度和经度变量。我希望它重新加载一次,但是,页面会不断刷新。我似乎不明白为什么。任何见解都会非常有用 请在下面找到我的代码:Javascript一直在重新加载页面,javascript,Javascript,我有下面的脚本,可以重新加载页面,以便获取纬度和经度变量。我希望它重新加载一次,但是,页面会不断刷新。我似乎不明白为什么。任何见解都会非常有用 请在下面找到我的代码: window.onload = function getLocation () { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition); } else { x.inn
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;
}
您从不检查是否设置了
lat
和long
参数,因此会不断刷新。为了避免这种情况,您可以检查以下服务器端:
<?php
if(isset($_GET['lat']) && isset($_GET['long'])){
?>
<h1>I know where you are!</h1>
<?php
} else {
?>
<script>
/* Your JS script */
</script>
<?php
}
?>
我知道你在哪里!
/*你的JS脚本*/
如果参数已经存在,听起来您不想重新加载页面。为此,请在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
}
location.php生成的页面上也有此脚本吗?要echo@jskulski,如果此脚本在该页面上,您将得到一个循环。如果此脚本也在location.php文件中,则可能会依次调用window.onload和showPosition,并不断刷新页面。您甚至不应该重新加载页面一次。。这是一种糟糕的用户体验。。