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 相关文章推荐
基于jQuery的Spin Button自定义文本框数值自增或自减
Jul 17 Javascript
JavaScript的Module模式编程深入分析
Aug 13 Javascript
Jquery中基本选择器用法实例详解
May 18 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
Sep 14 Javascript
AngularJS ng-template寄宿方式用法分析
Nov 07 Javascript
使用微信小程序开发前端【快速入门】
Dec 05 Javascript
jquery+ajax实现省市区三级联动效果简单示例
Jan 04 Javascript
JS动态修改网页body的背景色实例代码
Oct 07 Javascript
关于Google发布的JavaScript代码规范你要知道哪些
Apr 04 Javascript
快速解决Vue项目在IE浏览器中显示空白的问题
Sep 04 Javascript
Vue.js轮播图走马灯代码实例(全)
May 08 Javascript
jquery实现掷骰子小游戏
Oct 24 jQuery
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
星际争霸, 教主第一视角, ZvT经典龙蛇演义
2020/03/02 星际争霸
PHP @ at 记号的作用示例介绍
2014/10/10 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
2016/01/12 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
php与阿里云短信接口接入操作案例分析
2020/05/27 PHP
prototype.js的Ajax对象
2006/09/23 Javascript
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
js去除浏览器默认底图的方法
2015/06/08 Javascript
Jquery简单分页实现方法
2015/07/24 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
Centos7 中 Node.js安装简单方法
2016/11/02 Javascript
通过jsonp获取json数据实现AJAX跨域请求
2017/01/22 Javascript
JavaScript字符串检索字符的方法
2017/06/23 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
原生js jquery ajax请求以及jsonp的调用方法
2017/08/04 jQuery
js实现图片局部放大效果详解
2019/03/18 Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
2020/05/23 Javascript
Electron整合React使用搭建开发环境的步骤详解
2020/06/07 Javascript
Python使用time模块实现指定时间触发器示例
2017/05/18 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
python用win32gui遍历窗口并设置窗口位置的方法
2019/07/26 Python
pandas DataFrame的修改方法(值、列、索引)
2019/08/02 Python
Pytorch 使用 nii数据做输入数据的操作
2020/05/26 Python
python录音并调用百度语音识别接口的示例
2020/12/01 Python
pandas 数据类型转换的实现
2020/12/29 Python
戴森香港官方网站:Dyson香港
2021/02/11 全球购物
文言文形式的学生求职信
2013/12/03 职场文书
建筑工地门卫岗位职责
2014/04/30 职场文书
出国留学担保书
2014/05/20 职场文书
物流管理专业自荐信
2014/06/23 职场文书
四查四看自我剖析材料
2014/09/19 职场文书
中小学生学籍证明
2014/10/25 职场文书
初中生散播谣言检讨书
2014/11/17 职场文书
法院答辩状格式
2015/05/22 职场文书
幼儿园2016圣诞节活动总结
2016/03/31 职场文书