您的位置:首页 > Web前端 > JavaScript

JavaScript: Cookie 详解、实例与应用

2008-07-10 16:30 771 查看
Cookie(也)是JavaScript中的一种机制,可以实现严格的跨页面全局变量的要求。

Cookie是存于用户硬盘的一个文件,这个文件通常对应于一个域名,当浏览器再次访问这个域名时,便使这个cookie可用。因此,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。

在Cookie设置中,用escape()函数进行编码,可避免乱码和特殊字符问题; 当使用escape()编码后,在取出值以后需要使用unescape()进行解码才能得到原来的cookie值。

设置Cookie时可以直接给document.cookie赋值:

document.cookie="userId=828";

document.cookie="userName=hulk";

而且后面的值不会覆盖前面的值,它具有一种累加机制。

cookie的值可以由document.cookie直接获得,但这样获取的是所有的cookie值;要通过一指定cookie名称来获得所对应的值,则需做一些处理。

构造通用的cookie处理函数:

1<script type="text/javascript">

2 function SetCookie(cookieName, cookieValue, nDays)

9

下面我来编写一个登录函数,加强理解和应用

1 // 登录函数

2 function login()

3

function $(id)

</script>

调用(或称 嵌入)以上Js代码的页面文件,如下:

1 //Page1.html 的 body 部分,其他省略

2 <body>

3 <div id="main">

4 <div>

5 <span>用户名:</span> <input type="text" id="user" />

6 </div>

7 <div>

8 <span>密 码:</sapn> <input type="password" id="pass" />

9 </div>

<div>

<input type="checkbox" id="save" /> 七天内无需登录

</div>

<div>

<input type="button" onclick="login()" value="登 录" />

</div>

</body>

页面效果 如下所示:

// Page2.html 页面初始加载执行的Js代码:

function init()

{

// 从Cookie中读取用户名信息

var username = GetCookie("username");

// 如果用户已经登录过

if(username && username.length >0)

{

// 显示欢迎信息

$("msg").innerHTML = "<h2>欢迎光临:"+ username + "!</h2>";

}

else

{

$("msg").innerHTML = "<a href='Page1.html'>请返回,登录!</a>";

}

}

function $(id)

{

return document.getElementById(id);

}

// HTML body部分

<body onload="init()">

<div id="msg"></div>

</body>

另外,关于删除Cookie,可以使用以下方法:

该函数可以删除指定名称的cookie:

<script language="JavaScript" type="text/javascript">

</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: