js对cookie的简单操作函数:取,存,删(转)

var CookieOperator = {  
    // get cookie    
    getCookie : function(cookie_name){  
        // first we'll split this cookie up into name/value pairs 
        // note: document.cookie only returns name=value, not the other components  
        var a_all_cookies = document.cookie.split( ';' );  
        var a_temp_cookie = '';  
        var cookie_name_p = '';  
        var cookie_value = '';  
        var b_cookie_found = false; // set boolean t/f default f  
        for ( i = 0; i < a_all_cookies.length; i++ )  
        {  
            // now we'll split apart each name=value pair  
            a_temp_cookie = a_all_cookies[i].split( '=' );  
            // and trim left/right whitespace while we're at it  
            cookie_name_p = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');  
            // if the extracted name matches passed cookie_name  
            if ( cookie_name_p == cookie_name )  
            {  
                b_cookie_found = true;  
                // we need to handle case where cookie has no value but exists (no = sign, that is):  
                if ( a_temp_cookie.length > 1 )  
                {  
                    cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );  
                }  
                // note that in cases where cookie is initialized but no value, null is returned  
                return cookie_value;  
                break;  
            }  
            a_temp_cookie = null;  
            cookie_name_p = '';  
        }  
        if ( !b_cookie_found )  
        {  
            return null;  
        }  
    },  

    // delete cookie  
    deleteCookie : function(name, path, domain){  
        if ( CookieOperator.getCookie(name) )  
            document.cookie = name+"="+((path)?";path="+path:"")+((domain)?";domain="+domain:"")+";expires=Thu, 01-Jan-1984 00:00:01 GMT";  
    },        
 
    // set cookie  
    setCookie : function(name, value, expires, path, domain, secure){  
        // set time, it's in milliseconds  
        var today = new Date();  
        today.setTime( today.getTime() );  
        /* 
            if the expires variable is set, make the correct 
            expires time, the current script below will set 
            it for x number of hours, to make it for days, 
            add * 24, for minutes, delete * 60 
        */ 
        if ( expires )  
        {  
            expires = expires * 1000 * 60 * 60;  
        }  
        var expires_date = new Date( today.getTime() + (expires) );  
        document.cookie = name + "=" +escape( value ) +  
        ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +  
        ( ( path ) ? ";path=" + path : "" ) +  
        ( ( domain ) ? ";domain=" + domain : "" ) +  
        ( ( secure ) ? ";secure" : "" );  
    }  
}

posted @ 2009-08-13 17:05  Tony.wang  阅读(344)  评论(0编辑  收藏  举报