`
azheng270
  • 浏览: 93009 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

一个比较容易调用 功能比较完善的 cookie 操作类 附带一些简单的应用示例

阅读更多

一个比较容易调用 功能比较完善的 cookie 操作类

附带一些简单的应用示例

varaxtic=axtic||...{};
axtic.Cookie
=...{
/**//*
函数名称:axtic.Cookie.Get([stringname])
函数功能:得到Cookie
参数:name可选项,要取得的Cookie名称
说明:name为空时将通过数组形式返回全部Cookie,name不为空时返回此Cookie名称的值,没有任何值时返回undefined
*/

Get:
function(name)...{
varcv=document.cookie.split(";");//使用";"分割Cookie
varcva=[],cvat=[],cvam=[],temp;
/**//*循环的得到Cookie名称与值*/
for(i=0;i<cv.length;i++)...{
temp
=cv[i].split("=");//用"="分割Cookie的名称与值
if(temp[0].indexOf("_divide_")>0)...{
cvam[temp[
0]]=temp[1];
}
else...{
if(temp[0]!="")cvat[i]=[temp[0],temp[1]];
}

}

for(i=0;i<cvat.length;i++)...{
if(cvat[i])...{
if(cvat[i][1].substr(0,8)!="^divide|")...{
/**//*小于4K的Cookie处理*/
cva[cvat[i][
0]]=unescape(cvat[i][1]);
}
else...{
/**//*大于4K的Cookie处理*/
varsta=cvat[i][1].indexOf("$"),tot=cvat[i][1].substring(8,sta);
cva[cvat[i][
0]]=cvat[i][1].substring(sta+1);
for(j=1;j<tot;j++)...{
cva[cvat[i][
0]]+=cvam[cvat[i][0]+"_divide_"+j];
}

cva[cvat[i][
0]]=unescape(cva[cvat[i][0]]);
}

}

}

if(name)returncva[name];//如果有name则输出这个name的Cookie值
//elsereturncva;//如果没有name则输出以名称为key,值为Value的数组
elsereturnfalse;
}
,
/**//*
函数名称:axtic.Cookie.Set(stringname,stringvalue[,intexpires[,stringpath[,stringdomain[,stringsecure]]]])
函数功能:存入Cookie
参数:name必要项,要存入的Cookie名称
value必要项,要存入的Cookie名称对应的值
expires可选项,Cookie的过期时间,可以填入以秒为单位的保存时间,也可以填入日期格式(wdy,DD-Mon-YYYYHH:MM:SSGMT)的到期时间
path可选项,Cookie在服务器端的有效路径
domain可选项,该Cookie的有效域名
secure可选项,指明Cookie是否仅通过安全的HTTPS连接传送,0或false或空时为假
说明:保存成功则返回true,保存失败返回false
*/

Set:
function(name,value,expires,path,domain,secure,divide)...{
if(!divide)varvalue=escape(value);
if(!name||!value)returnfalse;//如果没有name和value则返回false
if(name==""||value=="")returnfalse;//如果name和value为空则返回false
/**//*对于过期时间的处理*/
if(expires)...{
/**//*如果是数字则换算成GMT时间,当前时间加上以秒为单位的expires*/
if(/^[0-9]+$/.test(expires))...{
vartoday=newDate();
expires
=newDate(today.getTime()+expires*1000).toGMTString();
/**//*判断expires格式是否正确,不正确则赋值为undefined*/
}
elseif(!/^wed,d...{2}w...{3}d...{4}d...{2}:d...{2}:d...{2}GMT$/.test(expires))...{
expires
=undefined;
}

}

if(name.indexOf("_divide_")<1&&!divide)...{
this.Del(name,path,domain);//删除前一次存入的Cookie
}

/**//*合并cookie的相关值*/
varcv=name+"="+value+";"
+((expires)?"expires="+expires+";":"")
+((path)?"path="+path+";":"")
+((domain)?"domain="+domain+";":"")
+((secure&&secure!=0)?"secure":"");
/**//*判断Cookie总长度是否大于4K*/
if(cv.length<4096)...{
document.cookie
=cv;//写入cookie
}
else...{
/**//*对于大于4K的Cookie的操作*/
varmax=Math.floor(value.length/3800)+1;
for(i=0;i<max;i++)...{
if(i==0)...{
this.Set(name,'^divide|'+max+'$'+value.substr(0,3800),expires,path,domain,secure,true);
}
else...{
this.Set(name+"_divide_"+i,value.substr(i*3800,3800),expires,path,domain,secure,true);
}

}

}

returntrue;
}
,
/**//*
函数名称:axtic.Cookie.Del(stringname[,stringpath[,stringdomain]])
函数功能:删除Cookie
参数:name必要项,要删除的Cookie名称
path可选项,要删除的Cookie在服务器端的有效路径
domain可选项,要删除的Cookie的有效域名
说明:删除成功返回true,删除失败返回false
*/

Del:
function(name,path,domain)...{
if(!name)returnfalse;//如果没有name则返回false
if(name=="")returnfalse;//如果name为空则返回false
if(!this.Get(name))returnfalse;//如果要删除的name值不存在则返回false
/**//*对于大于4K的Cookie进行处理*/
if(escape(this.Get(name)).length>3800)...{
varmax=Math.floor(escape(this.Get(name)).length/3800)+1;
for(i=1;i<max;i++)...{
/**//*合并Cookie的相关值,并删除*/
document.cookie
=name+"_divide_"+i+"=;"
+((path)?"path="+path+";":"")
+((domain)?"domain="+domain+";":"")
+"expires=Thu,01-Jan-197000:00:01GMT;";
}

}

/**//*合并Cookie的相关值,并删除*/
document.cookie
=name+"=;"
+((path)?"path="+path+";":"")
+((domain)?"domain="+domain+";":"")
+"expires=Thu,01-Jan-197000:00:01GMT;";
returntrue;
}

}


top
分享到:
评论

相关推荐

    Javascript Cookie操作类的封装

    本文将详细讲解如何封装一个Cookie操作类,实现对Cookie的增删改查功能。 首先,理解Cookie的基本概念是必要的。Cookie是由服务器端发送到浏览器并保存在本地的一个小文本文件,它由键值对组成,每个键值对之间用...

    Flash as3 cookie 操作实例源码

    这个“Flash AS3 Cookie操作实例源码”压缩包包含了一个具体的示例,教你如何在ActionScript 3(AS3)环境中进行Cookie的操作。 在AS3中,我们没有内置的库来直接处理Cookie,但可以通过使用`flash.net....

    Cookie实现购物车功能类(接前一个资源)

    本示例代码创建了一个名为`MyCart`的类,它代表了购物车中的一项商品,包括商品ID(`GoodsId`)和购买数量(`BuyCount`)。下面我们将详细探讨这个`MyCart`类以及如何利用Cookie来实现购物车功能。 1. **类结构与...

    HttpClient 调用WebService示例

    HttpClient是Apache基金会开发的一个HTTP客户端库,广泛应用于Java开发者中,用于执行HTTP请求。它提供了丰富的功能,包括GET、POST、PUT、DELETE等HTTP方法的支持,以及Cookie管理、URL连接重定向、请求与响应头的...

    Cookie工具类

    "Cookie工具类"通常是指一个Java类库,它封装了对Cookie的操作,以便开发者能更方便地管理这些数据。下面我们将深入探讨Cookie的基础知识以及如何使用CookieUtils这个工具类。 首先,Cookie是由Web服务器发送到用户...

    js操作cookie

    通常我们会编写一个函数来实现这个功能: ```javascript function getCookie(name) { const cookies = document.cookie.split('; '); for (let i = 0; i ; i++) { let cookiePair = cookies[i].split('='); if ...

    java访问.net webservice获取与设置cookie

    对于更复杂的场景,比如处理多个Cookie或有特定Cookie策略时,可能需要使用第三方库如Apache HttpClient,它提供了更完善的Cookie管理功能。 总之,Java通过JAX-WS可以轻松地调用.NET Web服务。在处理涉及Cookie的...

    java对cookie的操作

    创建一个简单的Cookie示例如下: ```java Cookie cookie = new Cookie("cookiename", "cookievalue"); response.addCookie(cookie); ``` 这段代码创建了一个名为`cookiename`,值为`cookievalue`的Cookie,并将其...

    cookie实例

    4. **Struts框架中的Cookie操作**:Struts框架提供了ActionContext类,可以从中获取HttpServletRequest和HttpServletResponse对象,进而调用它们的方法来处理Cookie。例如,使用`response.addCookie(Cookie)`来添加...

    C#基于WebBrowser获取cookie的实现方法

    以下是一个简单的示例: ```csharp private WebBrowser MywebBrowser; public Form1() { InitializeComponent(); MywebBrowser = new WebBrowser(); MywebBrowser.DocumentCompleted += new ...

    java对cookie的操作[收集].pdf

    Java中的Cookie是用于在客户端和服务器之间传递状态信息的一种机制,它主要用来管理用户会话。在Java中,处理Cookie主要通过`...`UpdateableCookieStore`类是一个具体的实现示例,展示了如何自定义Cookie存储逻辑。

    php Cookies 操作类

    总的来说,这个PHP Cookies操作类提供了一种更高级、更灵活的方式来管理Cookies,相比直接使用PHP的内置函数,它增加了更多的功能,如前缀设置、超时控制等,使得在复杂的Web应用程序中管理用户数据变得更加方便。...

    ISAPI 写Cookie范例

    总结来说,这个ISAPI写Cookie的范例为我们提供了一个在ISAPI扩展中创建、修改和删除Cookie的示例代码,这对于构建动态Web应用和管理用户会话非常有用。通过学习和理解这些代码,开发者可以更好地控制和利用Cookie来...

    c#和net存取cookies操作示例

    以下是一个简单的`Cookie`类的示例,包括设置和读取Cookie的方法: ```csharp public class CookieHelper { // Cookies赋值 public static void SetCookie(string strName, string strValue, int strDay) { try...

    Cookie的存入和读取,并解决中文问题

    在Web开发中,Cookie是一种非常重要的机制,它用于在客户端(浏览器)和服务器之间存储和交换状态信息。本文将深入探讨Cookie...通过阅读和分析提供的源码,可以进一步加深对Cookie操作的理解,并为实际项目提供参考。

    JS实现Cookie读、写、删除操作工具类示例

    本文将详细介绍如何使用JavaScript实现Cookie的读、写、删除操作,以及一个完整的工具类示例。 1. **读取Cookie** 读取Cookie的核心在于解析`document.cookie`字符串,该字符串包含了所有已设置的Cookie。`...

    .NET中的Cookie实现购物车(后台类在下一个资源)

    `BondData2()`方法的主要功能是从Cookie中读取商品信息,并将其绑定到一个`DataTable`对象中,最后将此`DataTable`绑定到GridView控件上进行显示。 3. **添加商品** 在`Button1_Click`事件中,首先创建一个`...

    Android应用源码之网络通信的六种方式示例代码.zip

    在Android应用开发中,网络通信是必不可少的一部分,它使得设备能够与服务器进行数据交换,实现各种功能,如获取用户信息、加载图片、更新数据等。本压缩包"Android应用源码之网络通信的六种方式示例代码"提供了一套...

    6.Cookie池使用.zip

    例如,以下是一个使用`requests`库实现Cookie池的简单示例: ```python import requests # 创建Session对象 session = requests.Session() # 登录并获取Cookie login_response = session.get('...

    Cookie例子.docx

    Cookie是Web应用程序中常用的一种数据存储机制,用于在客户端浏览器上保存用户状态信息。 首先,我们来看一下提供的代码片段。在Bean层,我们有一个`User`类,包含`username`和`password`属性,用于存储用户登录...

Global site tag (gtag.js) - Google Analytics