文章作者 : weblu [ weblu@21cn.com ] Web URL : http://
上载日期 : 2000-12-13
你不需要完全理解COOKIES。
非常感谢Marc Funaro为我们提供了极好的关于COOKIE的教程。http://www.advantex.net/
下面的代码可以帮助你检测用户的浏览器是否支持COOKIES
<SCRIPT>
document.cookie = 'CookiesEnabled=1';
if (document.cookie == '') {
document.location.href='{YourCookieExplainationPage';
}
</SCRIPT>
关于禁用COOKIES,下面是 IE5.0 的设置方法:
工具-》Internet 选项-》安全-》自定义级别
然后你可以找到关于COOKIES的两个设置:
一、“允许使用存储在您计算机上的cookies”(禁用|启用|提示)
二、“允许使用每个对话cookies(未存储)”(禁用|启用|提示)
如果用户禁用了两个COOKIES,您将不能使用COOKIES
在Netscape 4.7 中,如果您禁用了COOKIES(Netscape4.7 与IE5.0 不同,只有一个设置选项),您将完全不能使用COOKIES、SESSION。或许我是错的,但这是我长时间积累的经验。
下面是Netscape里的设置:
编辑-》属性-》高级选项(在窗口的左边)
您可以看到三个选项:
一、接受所有的COOKIES
二、只接受服务器定义的COOKIES
三、禁用COOKIES
正如我们所看到的,第三个选项禁用了所有的cookies、session或存储,而我上面给出的代码也将无效。
A session cookie is created if you do not set an expiration date, as follows: 如果您没有定义一个有效期,将产生一个session cookie,如下所示:
<!--- 定义一个session cookie; 当浏览器关闭后,cookie值将丢失。 --->
<CFCOOKIE NAME="CFID" VALUE="#CFID#">
<CFCOOKIE NAME="CFTOKEN" VALUE="#CFTOKEN#">
如何用COOKIES保存复杂的变量(如:数组、结构和记录集)
<cfwddx action="CFML2WDDX" input="#myArray#" output="anArray">
<cfcookie name="savedArray" value="#anArray#">
如果您要用COOKIES,请看下面的代码:
<cfwddx action="WDDX2CFML" input="#cookie.savedArray#" output="anArray">
这段代码把COOKIES值保存为数组形式。
|