此例子包含互动操作请参看http://www.quirksmode.org/js/ Examplecookies.html
脚本
这里有你需要的三个脚本
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "$$ expires="+date.toGMTString();
}
else var expires = ""$$
document.cookie = name+"="+value+expires+"$$ path=/"$$
}
function readCookie(name) {
var nameEQ = name + "="$$
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
解释:
这个函数并不特别复杂,最难的部分就是为设定cookie建立正确的语法。
createCookie
当调用createCookie()时需要给出三个信息片段(参数):cookie的名字,值和保留cookie的天数,下面的情况是键值对变为 ppkcookie=testcookie 并保留cookie7天。
createCookie(‘ppkcookie’,’testcookie’,7)
如果将天数设为0,在关闭浏览器时cookie也就会被清除了,若将天数设为负数,cookie将即刻被清除。
这个函数接受参数并开始做事:
Function createCookie(name,value,days){
首先查看是否有days值,如果没有我们就不必进行时间计算:
If(days){
如果有days值,新建一个包含现在日期Date对象:
var date =new Date();
接下来得到当前时间(毫秒)并加上取得的天数(转换为毫秒)。然后赋值给date变量,现在我们就有了cookie过期需要的时间的毫秒值。
Date.setTime(date.getTime()+(days*24*60*60*1000));
把date的UTC/GMT格式赋给cookie需要的变量expires
var expires =”; expires=”+date.toGMTString();
}
如果传递给函数的days为0,expires就设为空,这样的话当关闭浏览器时cookie就过期了
Else var expires =””;
最后把新的cookie按照正确的语法写入document.cookie中:
Document.cookie=name+”=”+value+expires+”; path=/”;
到此cookie建立成功。
readCookie
要读取cookie,调用这个函数并传递cookie的name。把name放入一个变量。首先检查是否这个变量已被赋值(如果cookie不存在,这个变量变为null,这可能会打乱函数的执行),然后做任何想做的事:
Var x =readCookie(‘ppkcookie1’)
If(x){
[do something with x]
}
函数接收参数并开始执行:
Function readCookie(name){
然后准备搜索名为name的cookie,把=附加到name后,并把它赋给新的字符串变量nameEQ:
Var nameEQ=name+”=”;
然后用分号(;)把document.cookie分割,把分割后的数组赋给变量ca,其中包含此域和路径的所有cookies:
Var ca = document.cookie.split(‘;’);
遍历数组(即cookies):
For(var i=0;i<ca.length;i++){
把要被检查的cookie赋给变量c
Var c=ca[i];
如果第一个字符为空格,用substring()方法去掉,循环此步骤直到第一个字符不是空格为止:
While(c.charAt(0)==’ ‘) c=c.substring(1,c.length);
现在字符串c的值开始于当前cookie的name,检查是否这个name是我们需要的cookie的:
If(c.indexOf(nameEQ)==0)
我们已经找到我们要找的cookie。现在只需要返回cookie的值,这个值就是c中nameEQ后面的部分。返回值后函数也结束:任务完成!
If(c.indexOf(nameEQ)==0) return c.substring(nameEQ.length,c.length);
}
如果遍历所有cookies后没有发现要找的name,那么cookie就不是当前的,返回null
Return null
}
Cookie读取完成
EraseCookie
清除cookie是非常简单的。
eraseCookie(’ppkcookie’)
把要清除的cookie的name传递过去
Function eraseCookie(name){
调用createCookie()将cookie的过期日期设置为以前的某个时间
createCookie(name,””,-1);
分享到:
相关推荐
使用原生JS操作方法在上篇文章中已经写过,原生JS虽然更简单,但是操作起来还是比较费力的,下面我们一起来看下更加简单方便的几种方法。 1.jQuery Cookie jQuery Cookie是一个简单、轻巧的jQuery插件,主要用于...
javascript中cookie对象用法实例分析.docx
轻量级JS Cookie插件js-cookie的使用方法.docx
IIS环境下和阿帕奇环境下 js的Cookie使用方法 ,
jquery.cookie.js以及用法 cookie读取与存储
jQuery cookie是个很好的cookie插件,大概的使用方法如下 example $.cookie(’name’, ‘value’); 设置cookie的值,把name变量的值设为value example $.cookie(’name’, ‘value’, {expires: 7, path: ‘/’, ...
js-cookie插件是一个JS操作cookie的插件,源文件只有3.34 KB,非常轻量级,js-cookie也支持npm和Bower安装和管理,下面看看js-cookie的具体用法
基本用法 Cookie . set ( strName , strVal , fDays = 1 , strPath = '/' , bSec = false ) ; 参数 strName 要设置的Cookie的名称 strValue 要设置的Cookie的值 fDays Cookie过期之前的天数。 现在起。 默认值: 1...
主要介绍了javascript中cookie对象用法,实例分析了javascript针对cookie对象的写入、读取及删除等操作的使用方法,非常具有实用价值,需要的朋友可以参考下
jquery.cookie.js 使用方法: var cookie_name="submenu_cookie"; var value="selected"; var options={path:'/',expires:1}; 设置: $.cookie(cookie_name,value,options); 取值:$.cookie(cookie_name)
cookie.js –简化JavaScript中的cookie cookie.js是一个小型JavaScript库,可简化cookie。 它能够设置,获取和删除cookie,接受各种参数,并支持链接。 它没有任何依赖性,并且经过压缩和压缩,只有0.9 KB小。您为...
如果在Cookie中设置了"HttpOnly"属性,那么通过程序(JS脚本、Applet等)将无法读取到Cookie信息,这样能有效的防止XSS攻击。 对于以上两个属性, 首先,secure属性是防止信息在传递的过程中被监听捕获后信息泄漏,...
script src =" cookie-banner.js " > </ script > -您可以通过在.html主页上附加脚本来调用CookieBanner.init()函数。 < script > CookieBanner . init ( { } , function ( onButtonClickResponse...
本文实例讲述了javascript cookie用法。分享给大家供大家参考,具体如下: 一、什么是 cookie? cookie 就是页面用来保存信息,比如自动登录、记住用户名等等。 二、cookie 的特点 同个网站中所有的页面共享一套 ...
主要介绍了JavaScript操作Cookie详解,本文讲解了什么是Cookie、Cookie基础知识、Cookie常见问题、cookie 有两种清除方式、Cookie基础用法、Cookie高级用法等内容,需要的朋友可以参考下
本文实例讲述了js使用cookie记录用户名的方法。分享给大家供大家参考,具体如下: cookie思路:当点击登录按钮时,把cookie存起来,再次访问的时候就读取cookie,即把txt的value设置之前存起来cookie的值就行。 <...
代码演示了用javascript和在jsp页面添加cookie到客户端,包括了在不同文件夹的情况和设置超时的方法。
主要介绍了js简单设置与使用cookie的方法,以简单实例形式分析了JavaScript设置与调用cookie的方法,需要的朋友可以参考下