当前位置:Gxlcms > JavaScript > 纯JS实现图片验证码功能(兼容IE6-8)代码

纯JS实现图片验证码功能(兼容IE6-8)代码

时间:2021-07-01 10:21:17 帮助过:25人阅读

这篇文章主要介绍了纯JS实现图片验证码功能并兼容IE6-8浏览器,需要的朋友可以参考下

最近要搞一个图片验证码功能,但是又不想自己写后台代码。于是自己准备搞一个纯前端的验证码功能,于是网上搜索了一下,找到一个插件gVerify.js,简单好用,实现完美。不过后面接到说要兼容IE8,想想也是醉了。万恶的IE,不过也还好,也没有想着在去找插件,准备自己搞一搞,顺便拿来学习一下并加强自己的知识。下面看我是如何搞定它的,虽然花了一点时间,不过也值得。

使用方法

  使用特别简单,定义一个p一验证码输入框,引入下载的js插件,创建一个GVerify对象,参数可以自定义一些或者传入p的ID。这样就生成了一验证码,效果见下图1-1.


图1-1

  效果还不错,大功告成。分分钟搞定,在各个浏览器点了点都没有撒问题。不过一到IE下面就GG了,IE9都还有用,IE8就没有用了,只能看看它怎么实现的了。于是我打开源码,发现是canvas实现的,IE8以下不支持呀,这就尴尬了。然后我特意去看了看canvas这个元素的相关介绍,发现还真被我找到猫腻了。"我们甚至可以在 IE 中使用 <canvas> 标记,并在 IE 的 VML 支持的基础上用开源的 JavaScript 代码(由 Google 发起)来构建兼容性的画布。 参见:http://excanvas.sourceforge.net/。",看到这一句我感觉我有搞头了,于是马上下载了一个excanvas.js加载到页面上,以为添加一个js就可以了,结果也是发现果然好使,正准备炫耀我的成果时,发现是IE11,不对劲呀!于是调整到IE8发现还不行,果然没有想的这么简单。于是看了一遍插件源码,木有发现问题呀,也不报错。于是只能搜索看是什么问题了。

改造

  查了一下资料发现是createelement()这个方法插件canvas在IE8以下也是不支持的,只能先在页面写上canvas元素。于是我改造了一下页面,并把创建canvas的代码修改为获得了。并把源代码加了一部分注释。使用方式变为了如下:


源码做了如下修改(红色的为修改的部分)和注释:


总结

  1、要支持IE的canvas要引入wxcanvas.js并修改源码为获取canvas元素。

  2、在html中要加上p和canvas元素。

  再秀一波我的验证码,哈哈

以上就是纯JS实现图片验证码功能(兼容IE6-8)代码的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行