Разработка классических приложений ASP для динамического определения истечения сеанса - PullRequest
3 голосов
/ 04 апреля 2009

У меня есть классическое ASP-приложение, которое использует сеанс; если пользователь покидает экран, а затем запускает сообщение формы или другую операцию, я хотел бы знать, истек ли сеанс.

В настоящее время я проверяю сеанс на каждой странице, чтобы узнать, истек ли он по тайм-ауту, но есть ли лучший, динамичный подход JavaScripty, который будет делать то, что банки делают, и тайм-аут сеансов с уведомлением и перенаправлением на вход?

1 Ответ

2 голосов
/ 04 апреля 2009

Во время события onload на вашей странице запустите таймер, а затем перенаправьте страницу через N секунд.

  • Для таймера используйте функцию window.setTimeout.
  • Для перенаправления установите значение window.location.

Пример многократного использования:

<head>
<script type="text/javascript">
<!--
 function redirect(url) {
   window.location = url;
 }
 function beginSessionTimer() {
   // 30000ms = 30s
   window.setTimeout(redirect, 30000, 
                     "http://www.yoursite.com/login.asp?session=clear");
 }
//-->
</script>
</head>
<body onload='beginSessionTimer();'>
</body>

Пример Quick-n-dirty с встроенной функцией:

<body onload='window.setTimeout(function(){
window.location="http://www.yoursite.com/login.asp?session=clear";}, 
30000);'>

Обратите внимание, что если на вашей странице выполняются какие-либо вызовы AJAX, поддерживающие сеанс, вы захотите сбросить таймер с помощью метода clearTimeout (вместе с новым вызовом setTimeout). Для получения подробной информации о clearTimeout, нажмите здесь , чтобы получить отличную документацию от Mozilla.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...