欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 > 教程文档 > Js&Ajax > 复杂的cookies读取

复杂的cookies读取

2018-05-07 439 收藏 0 赞一个 0 真差劲 0 去评论

如果你想让你的cookie包含更多的信息,你可以将cookie的值设得很长.假设我们要保存某人的姓名,年龄和电话号码:

var the_cookie = "username:thau/age:older than the hills/phone:411";
document.cookie="my_happy_cookie=" + escape(the_cookie);

我用斜杠/来分割属性名称,用分号区别不同的属性名称及其属性值.斜杠/和分号是不是绝对的选择,你可以使用任何的字符做分割的标志:

var the_cookie = "username=thau&age=older than the hills&phone=411";
document.cookie="my_happy_cookie=" + escape(the_cookie);

你可以自行选择限位器.只要你注意在对cookie解码时也使用同样的限位器即可.设置复杂的cookie时方法要复杂一些.我们建议你使用相关数组来保存所有的信息,假设我们将该cookie保存到某人的硬盘上:

my_happy_cookie=username:thau/age:older than the hills/phone:411

你可以将这些信息放到一个方便的相关数组中:

function readTheCookie(the_info)
{
    // load the cookie into a variable and unescape it
    var the_cookie = document.cookie;
    var the_cookie = unescape(the_cookie);
    // separate the values from the cookie name
    var broken_cookie = the_cookie.split("=");
    var the_values = broken_cookie[1];
    // break each name:value pair into an array
    var separated_values = the_values.split("/");
    // loop through the list of name:values and load
    // up the associate array
    var property_value = "";
    for (loop = 0; loop

如果在你的JavaScript中有上面这段代码,你可以这样调用它:

var cookie_information = new Array();
readTheCookie(cookie_information);

然后你就会正确设置了cookie_information["username"],cookie_information["age"], 和cookie_information["phone"].这些看起来可能有些难以理解,但实际上并不是很难.我们一步步分析:

var the_cookie = document.cookie;将cookie赋值给一个变量.

var the_cookie = unescape(the_cookie);取消escape()的编码

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

var the_values = broken_cookie[1];使the_values等同于username:thau/age:older than the hills/phone:411.var separated_values = the_values.split("/");生成一个包含3个元素名为separated_values的数组:

separated_values[0] = "username:thau"
separated_values[1] = "age:older than the hills"
separated_values[2] = "phone:411"

for (loop = 0; loop循环调用separated_values的3个元素.

property_value = separated_values[loop];提取当前的name:value配对,第1个配对是username:thau.

var broken_info = property_value.split(":");将该配对分成名为broken_info的数组中的两个元素

broken_info[0] = "username"
broken_info[1] = "thau"

var the_property = broken_info[0];第1次经过这个循环是,the_property是"username"var the_value = broken_info[1];其值是"thau"the_info[the_property] = the_value;这里开始发回相关数组的便捷功能.它使得the_info["username"] = "thau",所以现在当你需要从cookie中查找username时你只需:

var the_name = the_info["username"];

每次经过这个循环时,就在the_info中加入一个新元素.循环到最后时, the_info["username"] = "thau", the_info["age"] = "old as the hills" ,而 the_info["phone"] = 411.有些烦琐,但是当你需要从cookie中输出入大量信息时这是一个很好的办法.当然还有别的办法.

返回主目录
暂无界面图片

一、推荐使用迅雷或快车等多线程下载软件下载本站资源。

二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。

三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!

四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.

五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。

六、如需转载本站资源,请注明转载来自并附带链接

七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com

大家评论