一个网站
过5分钟不动作,就会锁定页面,
可输入密码来解锁(有一个弹框)可是如果用户按F5,就无效了,弹框消失,回到了界面
求如何只能让用户输入密码来解锁?

解决方案 »

  1.   

    用cookie保存是否为锁定状态,刷新后判断是否存在锁定的cookie,是就显示输入密码,输入密码正确后清除cookie <div id="dvContent">内容<br />内容<br />内容<br />内容<br />内容<br />内容</div>
     <div id="dvPassword" style="display:none">输入密码:<input type="password" id="txtPwd" /><input type="button" value="确定" onclick="check()"/></div>
    <script>
        if (document.cookie.indexOf('lock=1') != -1) ShowContent(false);
        var delay = 10 * 1000,timer;//10s后锁定,修改delay为你需要的时间,单位毫秒
        function startTimer() {
            clearTimeout(timer);
            timer = setTimeout(TimerHandler, delay);
        }
        function TimerHandler() {
            document.cookie = 'lock=1';
            document.onmousemove = null;//锁定后移除鼠标移动事件
            ShowContent(false);
        }
        function ShowContent(show) {
            document.getElementById('dvContent').style.display = show ? 'block' : 'none';
            document.getElementById('dvPassword').style.display = show ? 'none' : 'block';
        }
        function check() {
            if (document.getElementById('txtPwd').value == '123') {
                document.cookie = 'lock=0';
                ShowContent(true);
                startTimer()//重新计时
                document.onmousemove = startTimer; //重新绑定鼠标移动事件
            }
            else alert('密码不正确!!');
        }
        window.onload = function () {
            document.onmousemove = startTimer;
            startTimer();
        }
    </script>
      

  2.   

    这个办法行.
    刷新时,可以到服务端判断是否有COOKIE锁定状态,然后再决定是否发送锁定脚本到客户端吗?
      

  3.   


    可以,客户端设置的cookie再服务器端也能获取到
      

  4.   

    好了..这个问题解决了.
    服务端和客户端共同维护Cookie状态,在网页中,加入载入事件方法,读取cookie,状态,判断是否锁定.
    客户端在读取cookie时,却失败了,这会有哪些原因呢?
      

  5.   

    js怎么读取的?注意如果是服务器端设置的cookie,不要设置成httponly的,要不客户端js获取不到这种类型的cookie
      

  6.   

    没有读取cookie
    现在的做法是将cookie重设了新值 ,然后在服务端判断的.
    如果值为不锁定,则在服务端清除这个cookie,
    然后再发一个隐藏域,页面根据这个值来判断是否锁定页面,因为不知道在页面上使用JS,怎么有效的读取cookie,所以采用了这个办法 
      

  7.   


    内存cookie最好设置这个cookie值为其他的,如lock=1表示锁定,然后设置lock=0或者其他值,removecookie好像删除不掉有些时候。。