关于图片验证码设计的思考


Posted in Javascript onJanuary 29, 2007
自从读了《网站重构》这本书,现在对网站设计的思想有了根本性的改变。国内越来越多的媒体也极度关注WEB标准的进展情况,很多门户网站也开始使用符合标准的设计方法重新设计页面,像网易等。
这段时间正好在制作一个访谈系统,采用了符合W3C标准的布局方法,分别在IE5.5、IE6.0、IE7.0、Firefox 2.0、Opera 9.0环境下进行了测试,各不同厂商对CSS的理解也进一步趋于完善,这对于前台页面的制作人员减少了一定的工作量。
好了,归于正题,谈谈关于图片验证码设计的问题。
现在越来越多的网站的注册、发布等页面都采用了防止一些恶意程序的图片验证码选项,不知道大家有没有碰到这样的情况,一个注册表单,填写了帐号信息、个人信息,最后一项的验证码太模糊了竟然看不清,只能是重新刷新整个页面来刷新图片验证码的内容,这是一个不良好的交互设计。
参考了一些门户网站的方法,我的改进设计思路如下:
  1. 把验证码输入项放在表单的第一行;
  2. 客户端可以在不刷新整个页面的情况下更新图片验证码的内容。
    下面重点讲讲第2点的实现方法,以ASP为例吧(目前我只会ASP,^_^)。
    我们一般要插入验证码都是使用<img />标签,例如<img src="inc/code.asp" />,其中inc/code.asp是一个生成图片的程序文件。为了能够更新验证码的内容,可以在图片旁边加一个更新的链接,单击触发图片重载事件,完成图片验证码的更换。具体代码如下:
    HTML:
    <a href="javascript:reloadcode();" title="更换一张验证码图片"><img src="inc/code.asp" id="safecode" alt="看不清,请换一张" /></a> <a href="javascript:reloadcode();" title="更换一张验证码图片">看不清,请换一张</a>
    JavaScript:
    function reloadcode(){
    document.getElementById('safecode').src = 'inc/code.asp?' + Math.random();
    }

    关于图片验证码设计的思考
    我的一个设计界面

    注意,在reloadcode函数中,我们在code.asp后面加了一个随机参数,这样每次的链接地址都不一样,从而达到更新的目的。
    第一次写原创的文章,欢迎大家多多评论和指点。
    Javascript 相关文章推荐
    又一个图片自动缩小的JS代码
    Mar 10 Javascript
    JavaScript日历实现代码
    Sep 12 Javascript
    jQuery总体架构的理解分析
    Mar 07 Javascript
    Jquery实现的tab效果可以指定默认显示第几页
    Oct 16 Javascript
    js字符串转成JSON
    Nov 07 Javascript
    jquery+css实现的红色线条横向二级菜单效果
    Aug 22 Javascript
    js检测用户输入密码强度
    Oct 22 Javascript
    javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
    Jan 08 Javascript
    javascript实现瀑布流加载图片原理
    Feb 02 Javascript
    在vue项目中使用sass的配置方法
    Mar 20 Javascript
    深入理解JavaScript的async/await
    Aug 05 Javascript
    js面向对象编程OOP及函数式编程FP区别
    Jul 07 Javascript
    一些易混淆且不常用的属性,希望有用
    Jan 29 #Javascript
    WebGame《逆转裁判》完整版 代码下载(1月24日更新)
    Jan 29 #Javascript
    判断页面是关闭还是刷新的js代码
    Jan 28 #Javascript
    用JavaScript和注册表脚本实现右键收藏Web页选中文本
    Jan 28 #Javascript
    用js自动判断浏览器分辨率的代码
    Jan 28 #Javascript
    innerHTML,outerHTML,innerTEXT三者之间的区别
    Jan 28 #Javascript
    一个无限级XML绑定跨框架菜单(For IE)
    Jan 27 #Javascript
    You might like
    PHP 飞信好友免费短信API接口开源版
    2010/07/22 PHP
    php后台多用户权限组思路与实现程序代码分享
    2012/02/13 PHP
    php判断邮箱地址是否存在的方法
    2016/02/13 PHP
    PHP 读取大文件并显示的简单实例(推荐)
    2016/08/12 PHP
    php使用glob函数遍历文件和目录详解
    2016/09/23 PHP
    JS基础之undefined与null的区别分析
    2011/08/08 Javascript
    jquery 年会抽奖程序
    2011/12/22 Javascript
    JavaScript 函数replace深入了解
    2013/03/14 Javascript
    js工具方法弹出蒙版
    2013/05/08 Javascript
    jquery实现类似淘宝星星评分功能实例
    2014/09/12 Javascript
    AngularJS内置指令
    2015/02/04 Javascript
    javascript手风琴下拉菜单实现代码
    2015/11/12 Javascript
    跟我学习javascript解决异步编程异常方案
    2015/11/23 Javascript
    微信小程序 WXDropDownMenu组件详解及实例代码
    2016/10/24 Javascript
    NodeJS使用formidable实现文件上传
    2016/10/27 NodeJs
    vue中添加mp3音频文件的方法
    2018/03/02 Javascript
    Node.js 使用AngularJS的方法示例
    2018/05/11 Javascript
    解决LayUI表单获取不到data的问题
    2018/08/20 Javascript
    tracking.js实现前端人脸识别功能
    2020/04/16 Javascript
    原生js实现弹窗消息动画
    2020/11/20 Javascript
    几个提升Python运行效率的方法之间的对比
    2015/04/03 Python
    遍历python字典几种方法总结(推荐)
    2016/09/11 Python
    pandas.dataframe按行索引表达式选取方法
    2018/10/30 Python
    Python求两个圆的交点坐标或三个圆的交点坐标方法
    2018/11/07 Python
    python3对接mysql数据库实例详解
    2019/04/30 Python
    Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
    2019/08/15 Python
    PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
    2020/02/17 Python
    利用CSS3实现动态的二级三级菜单效果实例源码
    2017/01/04 HTML / CSS
    不用游标的SQL语句有哪些
    2012/09/07 面试题
    财政局长自荐信范文
    2013/12/22 职场文书
    物业保安员岗位职责
    2014/03/14 职场文书
    应届毕业生求职信
    2014/05/26 职场文书
    邹越演讲观后感
    2015/06/15 职场文书
    写好Python代码的几条重要技巧
    2021/05/21 Python
    Python正则表达式中flags参数的实例详解
    2022/04/01 Python
    PyTorch中permute的使用方法
    2022/04/26 Python