自动从页面注销

时间:2014-03-18 06:30:45

标签: javascript asp.net

我想在用户有时闲置但不能做之后自动。我已经使用了以下javascript但没有发生任何事情我也在web配置中添加了会话超时但它也无法正常工作。请给我一些想法。

<script type="text/javascript">
        var timer1, timer2;
        document.onkeypress=resetTimer;
        document.onmousemove=resetTimer;
        function resetTimer()
        {
            document.getElementById('timeoutPopup').style.display='none';
            clearTimeout(timer1);
            clearTimeout(timer2);

            // waiting time in minutes
            var wait=10;

            // alert user one minute before
            timer1=setTimeout("alertUser()", (60000*wait)-1);

            // logout user
            timer2=setTimeout("logout()", 60000*wait);
        }

        function alertUser()
        {
            document.getElementById('timeoutPopup').style.display='block';
        }

        function logout()
        {
            window.location.href='Logout.aspx';
        }



}



        </script>

3 个答案:

答案 0 :(得分:4)

setTimeout的第一个参数是一个函数句柄。 JS Timing

<script type="text/javascript">
        var timer1, timer2;
        document.onkeypress=resetTimer;
        document.onmousemove=resetTimer;
        function resetTimer()
        {
           document.getElementById('timeoutPopup').style.display='none';
           clearTimeout(timer1);
           clearTimeout(timer2);
                // waiting time in minutes
            var wait=10;

           // alert user one minute before
            timer1=setTimeout(alertUser, (60000*wait)-1);

            // logout user
            timer2=setTimeout(logout, 60000*wait);
        }

        function alertUser()
        {
            document.getElementById('timeoutPopup').style.display='block';
        }

        function logout()
        {
            window.location.href='Logout.aspx';
        }



} </script>

答案 1 :(得分:0)

您可以通过在Web配置中添加以下代码来实现此目的:

 <system.web>
    <sessionState timeout="10"></sessionState>
 </system.web>

此处timeout = 10表示10分钟后,会话将过期,因此将自动注销

答案 2 :(得分:-1)

我认为您可以使用html元标记

<meta http-equiv="refresh" content="30">

这将导致您的页面在30秒后刷新(根据需要更改时间),并且在刷新时您可以检查服务器端的会话,并可以按照您的需要执行逻辑。