在 IE 下测试 把 日期对象 (比如 Wed Mar 03 2010 00:00:00 GMT 0800) 保存入 cookies, 保存的字符串实际为2010%u5E743%u67083%u65E5这个字符串再从 cookies 中取出时,则无法正确还原成日期对象了。请问该如何做?在 firefox 下测试, 保存的结果是 Wed%20Mar%2003%202010%2000%3A00%3A00%20GMT+0800测试没问题,可以正确取出,只是 IE 下的cookie 有问题。100分相送,谢谢大家帮忙!祝大家虎年快乐!
在 IE 下测试 把 日期对象 (比如 Wed Mar 03 2010 00:00:00 GMT 0800) 保存入 cookies, 保存的字符串实际为2010%u5E743%u67083%u65E5这个字符串再从 cookies 中取出时,则无法正确还原成日期对象了。请问该如何做?在 firefox 下测试, 保存的结果是 Wed%20Mar%2003%202010%2000%3A00%3A00%20GMT+0800测试没问题,可以正确取出,只是 IE 下的cookie 有问题。100分相送,谢谢大家帮忙!祝大家虎年快乐!
取出时,再用 var t=new Date(日期的文本); 转回来就行了
<!--
function SetCookie(name,value)
{
var Days = 1;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}function getCookie(name)
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;}var v=getCookie("test");
if(v==null){
SetCookie("test",new Date());
alert('写入成功!');
}
else{
alert('test值:'+v);
}
//-->
</SCRIPT>貌似没问题!
var Cookies = {};
Cookies.set = function(name, value){
var argv = arguments;
var argc = arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : '/';
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
//alert( document.cookie );
};Cookies.get = function(name){
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
var j = 0;
while(i < clen){
j = i + alen;
if (document.cookie.substring(i, j) == arg)
return Cookies.getCookieVal(j);
i = document.cookie.indexOf(" ", i) + 1;
if(i == 0)
break;
}
return null;
};Cookies.clear = function(name) {
if(Cookies.get(name)){
document.cookie = name + "=" +
"; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
};Cookies.getCookieVal = function(offset){
var endstr = document.cookie.indexOf(";", offset);
if(endstr == -1){
endstr = document.cookie.length;
}
return unescape(document.cookie.substring(offset, endstr));
};