网络软件 系统工具 应用软件 图形图像 多媒体类 免费游戏 安全相关 免费音乐 网页素材 电子书籍 考试考题 建站源码
教育教学 多媒体类 编程开发 操作系统 游戏天地 娱乐天地 简历求职 站长专区 网页设计 安全技术 图形图像 文学驿站
业界资讯 | 图形图像 | 操作系统 | 网络冲浪 | 工具软件 | 办公软件 | 媒体动画 | 精文荟萃 | 认证考试 | 网页设计 | 技术开发 | 专栏
当前位置:热点网络学院技术开发ASP 学院ASP FAQ单页面判断浏览器是否接受 Cookies
精品推荐
热点TOP10
·80004005 及其它错误消息的疑难解答
·使用ASP编程常见问题解答
·如何在Form域中Post大于100K字节的数据
·ASP初学者参考
·如何在页面上动态的生成 WebForm控件
·ASP可以动态Include文件吗
·消除.NET极度狂热下的四个误解
·ASP设计常见问题及解答精要-4
·ASP设计常见问题及解答精要-2
·使用ASP常见问题解答
·ASP快车道
·单页面判断浏览器是否接受 Cookies
·ASP.NET技术FAQ
·ASP设计常见问题及解答精要-1
·ASP设计常见问题及解答精要-3
·怎样在ASP里面创建统计图表
·改善 ASP 性能和外观的技巧
·ASP初学者常犯的几个错误
单页面判断浏览器是否接受 Cookies
日期:2005年4月20日 作者:热点网络学院 查看:[大字体 中字体 小字体]

在 asp 应用中,经常用到 Session 对象来保存用户临时私有数据,而 asp 的 Session 对象是依赖于浏览器的 Cookie 的,如果用户出于安全原因或者无意中关闭了 Cookie 选项,则 asp 将无法正确识别用户,最终导致 Session 对象不能正常使用。
 
要正确执行以后的程序,就要先识别客户程序是否接受 Cookie,然而浏览器并没有提供识别 Cookie 是否关闭的方法,这样就需要我们自己来想办法进行测试。
 
于是很多开发人员就纷纷用自己的办法来测试浏览器的 Cookie 状态,最常见的方法是在一个页面里面送出一个 Cookie,然后在另一个页面中测试此 Cookie 是否存在。这样以来,我们就需要两次 asp 请求。
 
我这里介绍的是一种结合服务器脚本与客户端脚本,一次测试浏览器状态的方法。
 
在 NetBox 第一次初始化 asp 程序时,将分配一个新的 Session 对象,并向客户端送出一个以 Application.ApplicationID 为名称的 Cookie,浏览器如果接受 Cookie,则下次访问时将回送此 Cookie,NetBox 服务器在接受到此 Cookie 以后,将选用其指定的 Session 对象作为此次 asp 请求的 Session 对象使用,以保证 Session 对象针对具体用户的唯一性和持久性。
 
由此我们知道,可以通过判断浏览器是否接受了 Application.ApplicationID 为名称的 Cookie 来判断能否继续下面的程序。而判断浏览器中是否含有某个 Cookie,则可是使用浏览器的 cookie 对象来完成。下面这段代码就是测试浏览器是否接受了 NetBox 的 Session:

<html>
<body>
<Script language="javascript">
if(document.cookie.search("<%=Application.ApplicationID%>=") == -1)document.write("Not ");
</Script>Allow.
</body>
</html>
这段代码的前提是知道 NetBox 送出的 Cookie 的名称。如果希望在 iis 中使用此段代码,则比较困难,因为 iis 每次启动后送出的 Cookie 的名称都是不同的,所以为了测试,可以自行送出一个 Cookie 然后再进行测试:

<%Response.Cookie("CookieCheck")="on"%>
<html>
<body>
<Script language="javascript">
if(document.cookie.search("CookieCheck=") == -1)document.write("Not ");
</Script>Allow.
</body>
</html>

(出处:http://www.vipcn.com

关于我们 | 帮助(?) | 版权声明 | 友情连接 
Copyright 2005-2005 viphot.com All Rights Reserved.
Powered by:mesky