我现在在做一个在线考试系统,里面有个时间控制,如果时间到了,就自动交卷,可是时间再页面里,一刷新的话就又从0开始了,我的问题是:1如何把时间放在某一块里,无论怎样都不使它刷新  2.或者屏蔽刷新,后退,前进等会造成页面刷新或丢失的功能
3.如果哪位高手有更好的办法,只要能解决也可以。 在这先谢谢各位的分享和指导了

解决方案 »

  1.   

    存session里
    开考就把服务器的时间存进去。用当前时间减下就得到考试时间了。
      

  2.   

    刷新时 用服务器时间减session中的时间 就可以了
      

  3.   

    对不起,忘记说了,那个时间是用javascript控制的
      

  4.   

    而且是实时更新,还做了个时间差,比如:已经过了xx时间,还剩余xx时间
      

  5.   

    客户端可以保存在cookie里,一样
    开始考试记录,提交试卷后删除cookie
      

  6.   


      
    开考就把服务器的时间session存进去。刷页面时把时间取出来 ,在通过javascript控制。这样不管怎么刷,开考时间不会变。
      

  7.   

    了解一下ajax,
    原理就是定时从服务器取值,任你客户端在刷新,服务器的值始终不会变为0
      

  8.   

      1、
     <script>
    function document.onkeydown(){
    i   f(event.keyCode==116){ window.alert('考试期间,不允许按F5刷新');event.keyCode=0;event.returnValue=false;}
    }
    </script>
     2、 
    <SCRIPT language="javascript">//防复制
    document.onselectstart=a;
    function a()
    {
    return false;
    }
    </SCRIPT>
    3、
    把下面代码插入到代码中:Response.Write("<script language='javascript'>open('test.aspx','在线考试','resizable=0,status=no,toolbar=no,location=no,menul=no')</" & "script>")
    这段代码是屏蔽IE工具拦的,没了IE工具拦,就可以达到防止刷新的目的。
    4、
    <SCRIPT language=javascript>
    <!-- begin
    function click() {
    if (event.button==2) {
    alert('考试期间,请不要使用右键!')
    }
    }
    document.onmousedown=click
    end -->
    </script>
      

  9.   

    既然是很有意思的功能
    我就提供一个很有意思的解决方案
    你的javascript取时间不要再本页上取
    你的javascript总是去调用另外一个页面比如a.aspx取时间,实际上用户是永远看不到也访问不到a.aspx的
    这样保证不管用户怎么刷新,a.aspx不会刷新,因为 a.aspx不属于当前页面实际上这个就是ajax了