单页面判断浏览器是否接受 Cookies

原创 2004年02月01日 23:21:00

在 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>

判断浏览器是否接受Cookies

  • zgqtxwd
  • zgqtxwd
  • 2008年05月01日 04:47
  • 457

javascript判断IE是否开启COOKIE

jsvascript代码如下:        function CookieEnable()       {         var result=false;         if(navigato...
  • hk8846
  • hk8846
  • 2007年06月12日 12:14
  • 1469

如何判断浏览器是否禁用Cookie

如何判断客户端浏览器是否禁用Cookie var c="jscookietest=valid"; document.cookie=c; if(document.cookie.indexOf(c)==...
  • landebug
  • landebug
  • 2012年04月11日 17:18
  • 4349

WordPress常用的页面判断

很多时候我们需要将某些内容在指定的页面中显示,例如把友情链接这只成只在首页显示,或者将广告设置为只在文章页显示,这些都可以通过修改代码来达到效果。 下面为常用的页面判断语句 i...
  • a7282787
  • a7282787
  • 2016年09月09日 11:02
  • 777

检测浏览器是否接受Cookies(Downmoon)?

 一种确定浏览器是否接受 Cookie 的方法是先编写一个 Cookie,然后再尝试读取这个 Cookie。如果不能读取这个 Cookie,则可以认为该浏览器不接受 Cookie。我编写了一个简单的示...
  • downmoon
  • downmoon
  • 2005年10月30日 23:11
  • 2354

判断当前页面是否在微信浏览器中打开

在实际的项目中,有时候需要判断当前页面是否在微信浏览器中打开 ,以下提示了三种方法,每一种都可以, 方法一, var ua = navigator.userAgent.toLowerCase()...
  • ltmtianming
  • ltmtianming
  • 2017年10月23日 22:00
  • 516

jquery 判断页面是第一次启动还是刷新 或者 是关闭还是刷新

一、刷新还是新建的判断方法: jquery代码: if(!window.name){ alert("第一次开这个窗口!name值"+ window.name); ...
  • maizang52
  • maizang52
  • 2016年10月22日 10:20
  • 6006

判断当前页面是不是用户正在浏览的

看到一个网页,当我点击上去的时候,title显示“被你发现了”,我点到其他网页的时候,显示“我藏好了”, 看起来非常有趣。猜想应该是监听当前页面是否是活跃的来实现。在网上确实找到了对应的监听事件, 所...
  • qq_16397481
  • qq_16397481
  • 2017年08月17日 16:09
  • 126

php 使用cookie判断登录

首次登录时,先验证用户是否存在,如果存在,则写入cookie,并且设置过期期限。然后跳到欢迎界面,判断用户类型,显示欢迎界面。退出时清除cookie。 登录界面: 代码如下:  ...
  • huangxy10
  • huangxy10
  • 2012年12月04日 03:01
  • 6459

C# 判断客户端是否禁用Cookie的方法

1、设置 Cookie 值 方法   ///   /// 设置 Cookie 值   ///   /// Cookie 名称   /// 待保存的值   /// 过期时间   pub...
  • jixiaomeng821
  • jixiaomeng821
  • 2014年04月29日 14:07
  • 1436
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:单页面判断浏览器是否接受 Cookies
举报原因:
原因补充:

(最多只允许输入30个字)