js 处理Cookie 总结
来源:互联网 发布:软件外包交易平台 编辑:程序博客网 时间:2024/05/17 07:24
##########
#先给大家看看一个网友的对js的介绍。我认为她讲得通俗易懂,然后再给大家奉献我的认识和函数
1、设置COOKIE数据:
最基本的COOKIE只包括COOKIE名和它的值,语法如下
document.cookie="Cookie_name=Cookie_value"
警告 不要在cookie名或值中使用如分号(;)、逗号(,)或者空格等特殊字符。
但是,假设我们需要保存的名或值有这些符号,怎么办呢?最简单的办法就是使用escape(string)方法,这个方法是用一个字符串参数,把其中的非字母或数字字符转换为等价的数值(16进制),然后在前面加上百分号。
如:document.cookie="book_name="+escape("Special Edition Using JavaScript")
结果为:Special%20Edition%20Using%20JavaScrpit
2、获取COOKIE值:
获取cookie的值要稍微麻烦一点,首先要把cookie属性保存到一个变量:cookie_string=document.cookie 从而得到一个形如 cookie_name=cookie_value 的字符串。然后取等号的索引位置,再使用String对象的substring()方法抽取值,如果值使用了escape()方法编码,还要用 unescape() 进行解码。cookie_string=unescape(document.cookie)
3、处理多个COOKIE:
定义多个COOKIE documet.cookie="name1=value1; name2=value2" 每个cookie之间用分号和一个空格分开
处理用 split() 方法,如: var cookie_array = document.cookie.split(";")
即 cookie_arrar[0]和[1]各为上面的COOKIE字符串。
4、终止日期:
var days=30;
var expire_date=new Date();
var ms_from_now=days*24*60*60*1000;
expire_date.setTime(expire_date.getTime()+ms_from_now);
var expire_string=expire_date.toGMTString();//转为GMT格式的String
document.cookie="count_cookie=visit_number; expires="+expire_string;
5、其他参数:
document.cookie="name=value; path=cookie_dir";//指定访问的目录,所有页面访问,则把path设为根目录(/)。
参数domain用于指定站点上可以访问cookie的主机名,如果没有指定,则默认为站点所在的WEB服务器的主机名。如果服务器只有一个主机名,则不需要考虑这个参数。如:domain=.domain.com
secure, 这是一个boolean值。如果为真,则该cookie只发往使用HTTPS(安全)协议连接的浏览器;如果为假(或忽略)则发给所有的浏览器,即使使用了不安全的HTTP协议。如:document.cookie="name1=value1; true"。
6、删除COOKIE:
可以通过其过期日期设为过去的某个时间来删除,这将使得浏览器立即删除该cookie。为了简化,可以使用set_cookie()并参数赋一个负值,删除时必须指定与创建时相同的参数。如指定了 path 哪么例为:set_cookie("bgcolor_cookie","",-1,"/"); 如果要删除站点上所有的 cookie 重新开始,则不用指定 path。
另外cookie还有一些高级操作,我们留由下次再讲。如果大家认为好的话,请点一下上面的广告吧。
我的函数如下:
{
var sCookie = sName + "=" + encodeURIComponent(sValue);
if(oExpires){
sCookie += "; expires=" + oExpires.toGMTString();
}
if(sPath){
sCookie += "; path=" + sPath;
}
if(sDomain){
sCookie += "; domain=" + sDomain;
}
if(bSecure) {
sCookie += "; secure";
}
document.cookie = sCookie;
}
function getCookie(sName)
{
var sRE = "(?:; )?" + sName + "=([^;]*);?";
var oRE = new RegExp(sRE);
if(oRE.test(document.cookie)){
return decodeURIComponent(RegExp["$1"]);
} else {
return null;
}
}
function deleteCookie(sName, sPath, sDomain)
{
setCookie(sName, '', new Date(0), sPath, sDomain);
}
- js 处理Cookie 总结
- js处理cookie
- js 处理Cookie 参考
- js 处理cookie
- js处理cookie详解
- js中的cookie总结
- js Cookie总结
- 经验总结08--js处理cookie
- jQuery.cookie.js使用方法总结
- js读取cookie方法总结
- JS的COOKIE处理函数(收集备忘)
- JS设置COOKIE,PHP中处理
- Js 时间处理总结
- js字符串处理总结
- JS时间处理脚本 总结
- JS异步处理方案总结
- JS异步处理方案总结
- JS异步处理方案总结
- 使用.NET存储XML数据
- Visual C#实现Windows信使服务
- 仿射变换
- 本人的Reapter分页控件
- 在日本的软件工程师之路
- js 处理Cookie 总结
- Eclipse plugins 插件开发学习 - 使用 IScanner 扫描 Java 源代码
- Asp.net2.0 中自定义过滤器对Response内容进行处理(生成静态页面)
- 各种数据库的JDBC驱动下载及连接字符串URL写法
- 三大portal与其他系统集成SSO探密
- C#简单计算器
- Eclipse plugins 插件开发学习 - IScanner 和 IBuffer 封装的高级应用类
- Accordion(可折叠)控件学习
- TAOCP V4.F2 格雷码(2)