用Javascript操作Cookie

转自:http://www.codebit.cn/pub/html/javascript/tip/javascript_cookie/

Cookie 是维护客户端状态的解决方案之一,在大多数服务器端语言中都提供了对 Cookie 直接操作的函数,在客户端,我们可以用  javascript 来实现对 Cookie 的操作。本文介绍的就是用 Javascript 操作 Cookie 的方法。三个函数中 getCookie() 是获取Cookie值, setCookie() 是设置Cookie值,deleteCookie() 是删除Cookie。 

// 说明:用 Javascript 操作 Cookie
//
整理:http://www.CodeBit.cn

function setCookie( name, value, expires, path, domain, secure ) {

var today = new Date();
today.setTime( today.getTime() );
if ( expires ) {
expires
= expires * 1000 * 60 * 60 * 24;
}

var expires_date = new Date( today.getTime() + (expires) );

document.cookie
= name+'='+escape( value ) +
( ( expires )
? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
( ( path ) ? ';path=' + path : '' ) +
( ( domain )
? ';domain=' + domain : '' ) +
( ( secure )
? ';secure' : '' );

}


function getCookie( name ) {

var start = document.cookie.indexOf( name + "=" );
var len = start + name.length + 1;

if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
return null;
}

if ( start == -1 ) return null;

var end = document.cookie.indexOf( ';', len );

if ( end == -1 ) end = document.cookie.length;
return unescape( document.cookie.substring( len, end ) );
}

window.onload
= function(){
var dateStrInCookie = getCookie("today");


if ( dateStrInCookie == null )
{
setTimeout(
function(){
//do some job
alert("once per day!");
},
5*1000);

setCookie(
"today", new Date().toLocaleDateString());
}
}

function deleteCookie( name, path, domain ) {
if ( getCookie( name ) )
document.cookie
= name + '=' +
( ( path )
? ';path=' + path : '') +
( ( domain )
? ';domain=' + domain : '' ) +
';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}

posted on 2010-11-08 11:35  viva9@xian  阅读(268)  评论(0编辑  收藏  举报

导航