- 热门文章:
- · 在Windows桌面上使用WSH接收邮件 (转)
- · HTML4.0的 Access Key
- · 绝对是好东西 (select1 <==> select2):
- · 一个类似vbscript的round函数的javascript函数
- · 用javascript检查yyyy-mm-dd格式的正确源码。
- · HEAD元素使用集锦 (转)
- · 脚本控制Frame (转)
- · vbscript错误代码及对应解释大全
- · jscript错误代码及相应解释大全
- · 打开最大化窗口的一点经验
- · 无偿贡献,进入页面后自动刷新一次
- · 庆祝 Joy ASP 上贴数超过800页!!! 送给大家一个小礼物 ^_^
上一篇:下拉框连动的小例子(.htm版) >>
判断访问者的浏览器是否支持javascript和Cookies
作者:Jon Wetzel
许多网站需要客户端做许多复杂的工作,比如:用客户端 JavaScript 进行数据合法性校验,这需要客户浏览器的 JavaScript enabled;使用 Session 变量记录身份等信息,需要浏览器 Cookies enabled。因此,有必要确定用户浏览器中的这些选项被打开。在我的网站中,我使用了一串简洁的代码实现这些功能,在用户登录时进行检查,如果不符合就不让登录。在本文中,我就介绍一下这个login页面的写法。
我们首先用 JavaScript 建立一个 Cookie,然后检查 Cookie 是否存在。由于我们使用 JavaScript 进行这项操作,如果用户没有打开 JavaScript,但打开了 Cookies 的话,我们仍然会得到 Cookies 没打开的结果。但这与我们的要求并不冲突,反正我们是要求两者都打开的。(如果你确实只想知道 Cookies 是否 enabled,而不关心 JavaScript,也是有办法的,我们在另文中讨论)要确定用户是否打开 JavaScript,我在 html 中建立了一个隐藏 from,然后在 onload 事件中调一个 JavaScript 函数,改变该隐藏 form 的值,如果值被改变了,那就说明 JavaScript 是打开的,否则这个 JavaScript 函数就不会被调用。(上面两个功能我写在一个函数中)
首先,我们放一个隐藏 form 在 html 中,用<form>...</form>括起来。(当然,中间还可以有 username/password 的 from)
<FORM>
...
<input type="hidden" name="cookieexists" value="false">
</FORM>
只要它的值是false,就说明浏览器不支持 JavaScript。注意其初始值是 false。我们的 JavaScript 函数将把这个值换为true。在 BODY 中这样写:
<body onload="cc()">
cc()的内容如下:
<script language="JavaScript">
<!-
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 当用户 JavaScript 打开,而 Cookies 关闭时弹出警告信息
2 当用户 JavaScript 关闭,用户无法直接得到检查结果。(不要忘记,要弹出警告窗口也需要执行 alert 这个 JavaScript 语句,这时即使检查出来都无法提示),但这时用户的 from 提交后,后台的程序就会发现 cookieexists 这个域的值是 false,这就说明 JavaScript 关闭了。以后要做什么就不用我说了吧?
翻译:讨饭猫
下一篇:在Windows桌面上使用WSH接收邮件 (转) >>
相关文章:
- · 自己动手,结合javascript和dhtml做一个ubb编辑器(附例子代码)
- · 选择最快的镜像站点
- · 一段有趣并且实用的程序--利用javascript和dhtml实现两个列表框中内容的移动。(代码见内,把它存为一个...
- · 动态菜单的另一种实现(一) category.js
- · 动态数组的另一种实现(二) 界面
- · 实际使用“DXML”:在站点上实现 DHTML 菜单和目录(co.)
- · 以前收集的一些资料---JS中处理日期的一些函数和方法
- · 以前搜集的一些资料---html中的特殊字符(2)
- · 以前搜集的一些资料---html中的特殊字符(1)
- · 在浏览器里实现类似VB Form的界面控制
- · CSS2参考之一(转贴)
- · CSS2参考之二(转贴)
- · CSS2参考之三(转贴)
- · CSS2参考之四(转贴)
- · CSS2参考之五(转贴)
- · CSS2参考之六(转贴)
- · CSS2参考之七(转贴)
- · CSS2参考之八(转贴)
- · CSS2参考之九(转贴)
- · CSS2参考之十一(转贴)<完>
- · CSS2参考之十(转贴)
- · 李由的奉献(一)----Windows Scripting Host 对象参考
- · CSS2参考之零(转贴)
- · 李由的奉献(二)----Wscript 对象
- · 李由的奉献(三)----WshArguments 对象
- · 李由的奉献(四)----WshShell 对象
- · 李由的奉献(五)----WshNetwork 对象
- · 李由的奉献(六)----WshShortcut 对象
- · 李由的奉献(七)----WshUrlShortcut 对象
- · 李由的奉献(八)----WshCollection 对象
- · 李由的奉献(九)----WshEnvironment 对象
- · 李由的奉献(十)----WshSpecialFolders 对象
- · 我其实不是高手的。WSH简介。
- · vb获得一页的html代码
- · 下班前一贴,用wsh读取registry.
- · 相信我,我不知道我在说什么。
- · 字体大小的单位
- · myCSS 一并给大家
