Почему window.location javascript всегда перезагружается

#javascript #php

#javascript #php

Вопрос:

сегодня у меня проблема с моим кодом, когда я тестирую свой код, он работает, но почему страница всегда перезагружается постоянно.

 <body onload="getLocation()">
  <script>
    function getLocation() {
      navigator.geolocation.getCurrentPosition(redirectToPosition);
    }
    function redirectToPosition(position) {
      window.location = '?lat='   position.coords.latitude   'amp;long='   position.coords.longitude;
    }
  </script>
  <?php
  echo  $lat = (isset($_GET['lat'])) ? $_GET['lat'] : '';
  echo $long = (isset($_GET['long'])) ? $_GET['long'] : '';
  

я запускаю свой код при загрузке страницы, поэтому я надеюсь, что кто-нибудь может помочь, где ошибка моего кода, спасибо.

Комментарии:

1. Он постоянно перезагружается, потому что настройка window.location загружает другую страницу, и вы делаете это безоговорочно при каждой загрузке. Попробуйте использовать if инструкции или найдите альтернативу загрузке страницы с параметрами URL, например, History API .

Ответ №1:

Вы вызываете getLocation() функцию каждый раз при <body> загрузке.

В функции getLocation() есть a redirectToPosition , которое является именем вашей другой функции. Это набор функций window.location , который заставляет страницу перезагружаться.

Если вы хотите получить текущий URL-адрес, используйте var currentLocation = window.location.href;