Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript循环_Javascript - Fatal编程技术网

JavaScript循环

JavaScript循环,javascript,Javascript,我对一些JavaScript和PHP有点问题。脚本(如下所示)完全按照需要工作,但如果我使用最新版本的IE运行它,JavaScript似乎在循环,它会使链接闪烁,并且只有关闭IE浏览器才能停止。 在Firefox中,它可能也这样做,但没有任何闪烁。 我想要的是一种检测JavaScript已经运行的方法,因此不应该再次运行。 下面的代码段是名为prayer-times.PHP的PHP脚本的一部分 <head> <script> if(navigato

我对一些JavaScript和PHP有点问题。脚本(如下所示)完全按照需要工作,但如果我使用最新版本的IE运行它,JavaScript似乎在循环,它会使链接闪烁,并且只有关闭IE浏览器才能停止。 在Firefox中,它可能也这样做,但没有任何闪烁。 我想要的是一种检测JavaScript已经运行的方法,因此不应该再次运行。 下面的代码段是名为prayer-times.PHP的PHP脚本的一部分

<head>
    <script>
        if(navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(function(position) {
                var lat = position.coords.latitude
                var lon = position.coords.longitude
                document.location = "prayer-times.php?latitude=" + lat + "&longitude=" + lon
            });
        }
    </script>

<?php
    error_reporting(0);

    $lat = $_GET['latitude'];
    $lon = $_GET['longitude'];

        echo "Latitude: " . $lat . "<br/>";
        echo "Longitude: " . $lon . "<br/>";
?>

if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(函数(位置){
var lat=位置坐标纬度
var lon=位置坐标经度
document.location=“祈祷时间.php?纬度=“+lat+”&经度=“+long
});
}

我真的希望某个地方有一位专家能提供解决方案?

在每次加载页面时,您都会分配到
document.location
。这将刷新浏览器。如果纬度和经度与已传递到页面的纬度和经度相同,则需要有条件地不这样做。

检查纬度和经度是否在PHP中有值

<?php
if (!isset($_GET['latitude']){
   if (empty($_GET['latitude'])){ ?>
      // javascript code
   <?php }
}?>