判断浏览器是否支持javascript和Cookies

80酷酷网    80kuku.com

  cookie|cookies|浏览器

  判断访问者的浏览器是否支持javascript和Cookies

  许多网站需要客户端做许多复杂的工作,比如:用客户端 进行数据合法性校验,这需要客户浏览器的 enabled;使用 Session 变量记录身份等信息,需要浏览器 Cookies enabled。因此,有必要确定用户浏览器中的这些选项被打开。在我的网站中,我使用了一串简洁的代码实现这些功能,在用户登录时进行检查,如果不符合就不让登录。在本文中,我就介绍一下这个login页面的写法。

  我们首先用 建立一个 Cookie,然后检查 Cookie 是否存在。由于我们使用 进行这项操作,如果用户没有打开 ,但打开了 Cookies 的话,我们仍然会得到 Cookies 没打开的结果。但这与我们的要求并不冲突,反正我们是要求两者都打开的。(如果你确实只想知道 Cookies 是否 enabled,而不关心 ,也是有办法的,我们在另文中讨论)要确定用户是否打开 ,我在 html 中建立了一个隐藏 from,然后在 onload 事件中调一个 函数,改变该隐藏 form 的值,如果值被改变了,那就说明 是打开的,否则这个 函数就不会被调用。(上面两个功能我写在一个函数中)

  首先,我们放一个隐藏 form 在 html 中,用<form>...</form>括起来。(当然,中间还可以有 username/password 的from)

  <FORM>
  ...
  <input type="hidden" name="cookieexists" value="false">
  </FORM>

  只要它的值是false,就说明浏览器不支持 。注意其初始值是 false。我们的 函数将把这个值换

  为true。在 BODY 中这样写:

  <body >

  cc()的内容如下:

以下是引用片段:
<script language="">
<!-
function cc()
{
/* check for a cookie */
if (document.cookie == "") 
{
/* if a cookie is not found - alert user -
change cookieexists field value to false */
alert("COOKIES need to be enabled!"); 
/* If the user has Cookies disabled an alert will let him know 
that cookies need to be enabled to log on.*/ 
document.Form1.cookieexists.value ="false" 
} else {
/* this sets the value to true and nothing else will happen,
the user will be able to log on*/
document.Form1.cookieexists.value ="true"
}
}
/* Set a cookie to be sure that one exists.
Note that this is outside the function*/
document.cookie = 'killme' + escape('nothing')
// -->
</script>


  这个程序能实现的功能是:

  1 当用户 打开,而 Cookies 关闭时弹出警告信息

  2 当用户 关闭,用户无法直接得到检查结果。(不要忘记,要弹出警告窗口也需要执行 alert 这个 语句,这时即使检查出来都无法提示),但这时用户的 from 提交后,后台的程序就会发现 cookieexists 这个域的值是 false,这就说明 关闭了。以后要做什么就不用我说了吧?



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: