客户端访问cookie脚本

脚本是从别的网站贴的,尊重别人成果,完整保留所有问题
代码我已经验证过,没有问题。
说明一点document.cookie是一个非常特殊的属性,只需要设置 document.cookie = "cookieName= cookieValue"即可。他实际上是把新cookie加到cookie列表中。var allcookie = document.cookie ;返回的是所有cookie的信息。

/**/ /*
Script Name: Javascript Cookie Script
Author: Public Domain, with some modifications
Script Source URI: http://techpatterns.com/downloads/javascript_cookies.php
Version 1.1.1
Last Update: 4 October 2007

Changes:
1.1.1 fixes a problem with Get_Cookie that did not correctly handle case
where cookie is initialized but it has no "=" and thus no value, the 
Get_Cookie function generates a NULL exception. This was pointed out by olivier, thanks

1.1.0 fixes a problem with Get_Cookie that did not correctly handle
cases where multiple cookies might test as the same, like: site1, site

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
*/


//  this fixes an issue with the old method, ambiguous values 
//
 with this test document.cookie.indexOf( name + "=" );

//  To use, simple do: Get_Cookie('cookie_name'); 
//
 replace cookie_name with the real cookie name, '' are required
function  Get_Cookie( check_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 = '';
    
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 = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
    
        
// if the extracted name matches passed check_name
        if ( cookie_name == check_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 
= '';
    }

    
if ( !b_cookie_found ) 
    
{
        
return null;
    }

}


/**/ /*
only the first 2 parameters are required, the cookie name, the cookie
value. Cookie time is in milliseconds, so the below expires will make the 
number you pass in the Set_Cookie function call the number of days the cookie
lasts, if you want it to be hours or minutes, just get rid of 24 and 60.

Generally you don't need to worry about domain, path or secure for most applications
so unless you need that, leave those parameters blank in the function call.
*/

function  Set_Cookie( 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 days, to make it
    // for hours, delete * 24, for minutes, delete * 60 * 24
    if ( expires )
    
{
        expires 
= expires * 1000 * 60 * 60 * 24;
    }

    
//alert( 'today ' + today.toGMTString() );// this is for testing purpose only
    var expires_date = new Date( today.getTime() + (expires) );
    
//alert('expires ' + expires_date.toGMTString());// this is for testing purposes only

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


//  this deletes the cookie when called
function  Delete_Cookie( name, path, domain )  {
    
if ( Get_Cookie( name ) ) document.cookie = name + "=" +
            ( ( path ) 
? ";path=" + path : ""+
            ( ( domain ) 
? ";domain=" + domain : "" ) +
            
";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

转载于:https://www.cnblogs.com/sleepywang/archive/2008/03/03/1089290.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值