日期:2014-05-17  浏览次数:20533 次

cookie 怎么保存和获取 剩余时间
要做一个在线考试系统 舒心页面 计时不会从新开始 晚上这段代码不知道应用 求高手解决

<script language="javascript" type = "text/javascript">
  function GetCookieByName(name) {
  //获取cookie字符串 
  var strCookie = document.cookie;
  //将多cookie切割为多个名/值对 
  var arrCookie = strCookie.split("; ");
  var userId;
  //遍历cookie数组,处理每个cookie对 
  for (var i = 0; i < arrCookie.length; i++) {
  var arr = arrCookie[i].split("=");
  //找到名称为name的cookie,并返回它的值 
  if (name == arr[0]) {
  userId = arr[1];
  break;
  }
  }
  return userId; 
  }
  function Change(m, s) {
  s = s - 1;
  if (s < 0) {
  s = 60 + s;
  m = m - 1;
  }
  if (m == 10 && s == 0) {
  alert("离答题结束还有10分钟,请尽快完成题目!");
  }
  document.getElementById("divtime").innerHTML = m + "分" + s + "秒";
  document.cookie = "m=" + m;
  document.cookie = "s=" + s;
  setTimeout(function() {
  Change(m,s);
  }, 1000);
  }
  window.onload = function() {
  //SetCookie(20, 20);
  var m = GetCookieByName("m");
  var s = GetCookieByName("s");
  Change(m, s);
 
  }
  </script>

.net后台部分:

在后台代码中设置cookies值

Response.Cookies["m"].Value = strs[0];
Response.Cookies["s"].Value = strs[1];


str[0], str[1] 分别是剩余的分钟 和秒 怎么获取? 怎么写入?求例子或者给点提示 感激不尽

------解决方案--------------------
我有点击页面上按钮不刷新的代码,但点击浏览器的刷新,还是会刷新的!楼主可以尝试一下
C# code

 <script language=javascript>
var sec=0;var min=0;var hou=0;flag=0;idt=window.setTimeout("update();",1000);
function update()
{  
 if (min==19 && sec==59) {alert("还剩10分钟,请抓紧时间答卷!");}
 if (min==30) {alert("考试时间结束!");}// document.getElementById("Button1").click(); //规定时间结束后自动提交按钮
 sec++;
 if(sec==60){sec=0;min+=1;}
 if(min==60){min=0;hou+=1;}
 if((min>0)&&(flag==0)){flag=1;}
 document.getElementById("Text1").value="已用时间:"+hou+"时"+min+"分"+sec+"秒";
 idt=window.setTimeout("update();",2000);
 
}
</script>

1 上述代码放入head中
2 from中放入一个html控件Text1,用于显示时间
3 <body onload="update()"> 页面加载时就运行脚本

------解决方案--------------------
该页面加载时给它设置一个具有唯一性的key,GUID或者MD5什么都可以.
在数据库存储这个key以及开始的时间,页面刷新是根据这个key从数据库取开始的时间就行了。