JS实现PC手机端和嵌入式滑动拼图验证码三种效果


Posted in Javascript onFebruary 15, 2017

PC和手机端网站滑动拼图验证码效果源码,同时包涵了弹出式Demo,使用ajax形式提交二次验证码所需的验证结果值,嵌入式Demo,使用表单形式提交二次验证所需的验证结果值,移动端手动实现弹出式Demo三种效果

JS实现PC手机端和嵌入式滑动拼图验证码三种效果

首先要确认前端使用页面,比如登陆页面

<script src="http://code.jquery.com/jquery-1.12.3.min.js"></script> 
<script src="http://static.geetest.com/static/tools/gt.js"></script>

1.在登陆页面访问引入类库: 如果您的网站使用https,则只需要将引入极验库的地方换成https协议即可,不需要更改其它地方。例如更换成以下代码即可:

<script src="https://code.jquery.com/jquery-1.12.3.min.js"></script> 
<script src="https://static.geetest.com/static/tools/gt.js"></script>

2.初始化前端 下面的代码需要在页面加载后就执行,如果你使用jQuery,可以写在$(function(){});

$.ajax({ 
 // 获取id,challenge,success(是否启用failback) 
 url: "../web/StartCaptchaServlet.php?t=" + (new Date()).getTime(), // 加随机数防止缓存 
 type: "get", 
 dataType: "json", 
 success: function (data) { 
  // 使用initGeetest接口 
  // 参数1:配置参数 
  // 参数2:回调,回调的第一个参数验证码对象,之后可以使用它做appendTo之类的事件 
  initGeetest({ 
   gt: data.gt, 
   challenge: data.challenge, 
   product: "popup", // 产品形式,包括:float,embed,popup。注意只对PC版验证码有效 
   offline: !data.success // 表示用户后台检测极验服务器是否宕机,与SDK配合,用户一般不需要关注 
  }, handlerPopup); 
 } 
});

上面代码的意思是说,页面加载后,需要到你指定的URL地址上获得验证码信息,至于上面的URL地址“../web/StartCaptchaServlet.PHP”里面写了什么内容,这个我们在服务器端代码部署会详细说明。 但是需要说明的是,上面的代码里有一个回调函数叫“handlerPopup”,这个函数是你需要验证码的真正初始化代码:如下:

// 代码详细说明 
var handlerPopup = function (captchaObj) { 
 // 注册提交按钮事件,比如在登陆页面的登陆按钮 
 $("#popup-submit").click(function () { 
  // 此处省略在登陆界面中,获取登陆数据的一些步骤 
   
  // 先校验是否点击了验证码 
  var validate = captchaObj.getValidate(); 
  if (!validate) { 
   alert('请先完成验证!'); 
   return; 
  } 
  // 提交验证码信息,比如登陆页面,你需要提交登陆信息,用户名和密码等登陆数据 
  $.ajax({ 
   url: "../web/VerifyLoginServlet.php", 
   type: "post", 
   // dataType: "json", 
   data: { 
    // 用户名和密码等其他数据,自己获取,不做演示 
    username:username, 
    password:password, 
    // 验证码数据,这些数据不用自己获取 
    // 这是二次验证所需的三个值 
    // 当然,你也可以直接设置验证码单独校验,省略其他信息 
    geetest_challenge: validate.geetest_challenge, 
    geetest_validate: validate.geetest_validate, 
    geetest_seccode: validate.geetest_seccode 
   }, 
   // 这里是正确返回处理结果的处理函数 
   // 假设你就返回了1,2,3 
   // 当然,正常情况是返回JSON数据 
   success: function (result) { 
    // 1表示验证码验证失败 
    if (result == "1") { 
     alert("验证码验证失败!"); 
    }else if (result == "2") { 
     alert("用户名或密码错误!"); 
    }else if (result == "3") { 
     alert("登陆成功!"); 
     // 登陆成功了,可以在这里做其他处理 
    }else{ 
     alert("登陆错误!"); 
    } 
   } 
  }); 
 }); 
 // 弹出式需要绑定触发验证码弹出按钮 
 // 比如在登陆页面,这个触发按钮就是登陆按钮 
 captchaObj.bindOn("#popup-submit"); 
  
 // 将验证码加到id为captcha的元素里 
 // 验证码将会在下面指定的元素中显示出来 
 captchaObj.appendTo("#popup-captcha"); 
 // 更多接口参考:http://www.geetest.com/install/sections/idx-client-sdk.html 
};

以上所述是小编给大家介绍的JS实现PC手机端和嵌入式滑动拼图验证码三种效果.希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquerymobile checkbox及时刷新才能获取其准确值
Apr 14 Javascript
使用简洁的jQuery方法实现隔行换色功能
Jan 02 Javascript
最全的Javascript编码规范(推荐)
Jun 22 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
Nov 16 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
Jun 22 Javascript
纯js实现页面返回顶部的动画(超简单)
Aug 10 Javascript
Vue2 配置 Axios api 接口调用文件的方法
Nov 13 Javascript
Vue render函数实战之实现tabs选项卡组件
Apr 22 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
Aug 29 Javascript
react native 仿微信聊天室实例代码
Sep 17 Javascript
使用Vue实现简单计算器
Feb 25 Javascript
Element Collapse 折叠面板的使用方法
Jul 26 Javascript
javascript设计模式之中介者模式学习笔记
Feb 15 #Javascript
javascript中apply/call和bind的使用
Feb 15 #Javascript
JS实现图片放大缩小的方法
Feb 15 #Javascript
JavaScript中的编码和解码函数
Feb 15 #Javascript
js date 格式化
Feb 15 #Javascript
JS实现最简单的冒泡排序算法
Feb 15 #Javascript
javascript设计模式之单体模式学习笔记
Feb 15 #Javascript
You might like
基于php权限分配的实现代码
2013/04/28 PHP
PHP 处理TXT文件(打开/关闭/检查/读取)
2013/05/13 PHP
php微信公众开发之获取周边酒店信息的方法
2014/12/22 PHP
利用PHP生成静态html页面的原理
2016/09/30 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
PHP回调函数概念与用法实例分析
2017/11/03 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
2019/04/09 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
Javascript中暂停功能的实现代码
2007/03/04 Javascript
js下关于onmouseout、事件冒泡的问题经验小结
2010/12/09 Javascript
javascript中的对象创建 实例附注释
2011/02/08 Javascript
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
javaScript(JS)替换节点实现思路介绍
2013/04/17 Javascript
javascript中如何处理引号编码&amp;#034;
2013/08/15 Javascript
jQuery之过滤元素操作小结
2013/11/30 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
Bootstrap CDN和本地化环境搭建
2016/10/26 Javascript
JS 对java返回的json格式的数据处理方法
2016/12/05 Javascript
深入学习Bootstrap表单
2016/12/13 Javascript
Node.js如何使用Diffie-Hellman密钥交换算法详解
2017/09/05 Javascript
vue实现页面加载动画效果
2017/09/19 Javascript
Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
2018/08/24 Javascript
js中async函数结合promise的小案例浅析
2019/04/14 Javascript
Vue实现base64编码图片间的切换功能
2019/12/04 Javascript
2分钟实现一个Vue实时直播系统的示例代码
2020/06/05 Javascript
python使用urllib2实现发送带cookie的请求
2015/04/28 Python
将Emacs打造成强大的Python代码编辑工具
2015/11/20 Python
LRUCache的实现原理及利用python实现的方法
2017/11/21 Python
Python守护进程实现过程详解
2020/02/10 Python
python+adb命令实现自动刷视频脚本案例
2020/04/23 Python
Python图像阈值化处理及算法比对实例解析
2020/06/19 Python
python中altair可视化库实例用法
2021/01/26 Python
使用CSS3编写类似iOS中的复选框及带开关的按钮
2016/04/11 HTML / CSS
英国独特家具和家庭用品购物网站:Cuckooland
2020/08/30 全球购物
应届生服务员求职信
2013/10/31 职场文书
环保建议书600字
2014/05/14 职场文书