由于cookies牵扯到向用户的硬盘写盘和读取信息,所以就涉及一个保密性的问题。
如果你需要大量什么cookies,你应该阅读一下Marc Slayton写的cooikies揭密以及重新考察cookies。
这些文章将告诉你cookie的实质和作用范围以及其内在的局限性。
其最重要的局限性在于:不是每个人的浏览器都欢迎cookies。
即便是用户的浏览器欢迎cookies,但用户也有可能拒绝cookies 的访问(大部分人还是欢迎的)每个域名只分配20个cookies,所以要节省着什么它们。
Cookies不得大于4 KB,当然4,000字节的容量是足够的了。
了解了这些局限性之后我们开始学习如何设置cookies设置一个基本的cookie很容易。
你所需做的只是在一个cookie_name=value表单中生成一个字符串,然后设置document.cookie属性。
唯一的技巧:cookie值中不能有空格,逗号或分号。
好在你无需担心这些问题,因为有一系列的函数可以帮你对cookies属性编码和解码:escape()和unescape().下面的简单例子中将你的姓名保存为一个cookie:function setCookie()
{
var the_name = prompt("What's your name?","");
var the_cookie ="wm_javascript=username:" + escape(the_name);
document.cookie =the_cookie;
alert("Thanks, now go to the next page.");
}函数中间的两行是关键:var the_cookie = "wm_javascript=username:" + escape (the_name); 如果我在提示框中输入了"dave thau",该行代码将生成一个字符串wm_javascript=username:dave%20thau。
这就是说我将把一个名为wm_javascript的cookie保存到硬盘。
该cookie的值是username:dave%20thau - 函数 escape()将"dave" 和"thau"之间的空格用%20做了替换。
当我们读取cookie时,我们寻找名为wm_javascript的cookie,然后提取username:dave%20thau,将其用 unescape()解码,去掉username:。document.cookie = the_cookie;