Вопрос по javascript – Как определить, покидает ли пользователь страницу в PHP

6

Есть эта функция, которую я хочу выполнить в случае, если пользователь покидает определенную страницу. Эта функция в основном изменит все данные в определенном столбце в моей базе данных. Поэтому, если пользователь покидает эту страницу, я хочу, чтобы эта функция выполнялась системой. Есть ли способ обнаружить, если пользователь уже покинул страницу.

Спасибо!

Короче говоря: надежного пути нет. Есть некоторые события JavaScript, которые обрабатывают выгрузку, но они не могут быть гарантированы. xbonez

Ваш Ответ

5   ответов
1

когда пользователь покидает определенную страницу для перехода на другую страницу на том же веб-сайте, вы можете попытаться добиться этого с помощью идентификаторов страниц, сохраняя идентификатор & quot; page_to_be_left & quot; в сеансе var и проверьте, совпадает ли текущий идентификатор страницы с тем, который хранится в сеансе var. Ваша функция может быть запущена, если нет совпадения.

1

но вы можете использовать функцию javascript onbeforeunload, здесьпример

<script type="text/javascript">
  window.onbeforeunload = confirmExit;
  function confirmExit()
  {
    return "You have attempted to leave this page.  If you have made any changes to the fields without clicking the Save button, your changes will be lost.  Are you sure you want to exit this page?";
  }
</script>
1

Вам нужно будет использовать JavaScript.

1

а затем отправляет результат в браузер, вы не можете сделать это только с помощью php. Вы можете отправить ajax-запрос в ваш php-скрипт с событием onunload, используя javascript, а затем запустить php-скрипт в ответ на этот запрос.

5

нет, это невозможно. Поскольку выход из определенной страницы является операцией на стороне клиента, вы имеете нулевой контроль над тем, что делает клиент. Вы можете зарегистрироватьonbeforeunload обработчик через Javascript и надеюсь, что клиентский браузер его поддерживает. Но опять же, поддержка этого не является универсальной.

Похожие вопросы