前台在JavaScript方法中怎样保存和提取Cookie

 我来答
百度网友d874f7292
推荐于2016-03-03 · 超过30用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:60.7万
展开全部
function readCookie()

{

var the_cookie = document.cookie;

var broken_cookie = the_cookie.split(":");

var the_name = broken_cookie[1];

var the_name = unescape(the_name);

alert("Your name is: " + the_name);

}

第1行很重要.当你的浏览器打开一个网页时,它调用任何和
该网页有关的cookie然后将其载入document.cookie属性.

读取cookie的技巧在于从中抽取出你需要的信息.注意在我们
所设置的cookie是这样的:wm_javascript=username:dave%
20thau.在该函数第1行之后的所有用于从该cookie中提取出
用户名(username).

var broken_cookie = the_cookie.split(":");

将cookie在分号处分割成两部分.
var the_name = broken_cookie[1];

抓取分号后面的内容dave%20thau.
var the_name = unescape(the_name);
取消函数escape()的编码替换.在本例中重新用空格替换了%20.
alert("Your name is: " + the_name); 显示你的姓名.

这个例子使用的cookie只保存了很少的信息:用户名,cookie
最多可以保存多达4kb的信息。
追问
谢谢,提取我懂了,那怎么保存呢?
追答
function setCookie(name,value){   
var Days = 30;
var exp = new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}

function getCookie(name){
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null){
return unescape(arr[2]);
}else{
return "";
}
}

function delCookie(name){
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
apolloge
2011-02-24 · TA获得超过653个赞
知道小有建树答主
回答量:559
采纳率:0%
帮助的人:432万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a175029de
2011-02-24 · TA获得超过287个赞
知道小有建树答主
回答量:211
采纳率:0%
帮助的人:242万
展开全部
var Cookies = function() {};
Cookies.setCookie = function(name, value, seconds) {
if (typeof (seconds) != 'undefined') {
var date = new Date();
date.setTime(date.getTime() + (seconds * 1000));
var expires = "; expires=" + date.toGMTString();
} else {
var expires = "";
}

document.cookie = name + "=" + value + expires + "; path=/";
}
Cookies.getCookie = function(name) {
name = name + "=";
var carray = document.cookie.split(';');

for ( var i = 0; i < carray.length; i++) {
var c = carray[i];
while (c.charAt(0) == ' ')
c = c.substring(1, c.length);
if (c.indexOf(name) == 0)
return c.substring(name.length, c.length);
}
return null;
}
Cookies.deleteCookie = function(name) {
this.setCookie(name, "", -1);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户36248
2011-03-05 · 超过37用户采纳过TA的回答
知道答主
回答量:171
采纳率:0%
帮助的人:0
展开全部
看的了
也可以去找教学光盘下载来看
自己学吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式