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 相关文章推荐
javascript web页面刷新的方法收集
Jul 02 Javascript
JavaScript地图拖动功能SpryMap的简单实现
Jul 17 Javascript
JQuery的$和其它JS发生冲突的快速解决方法
Jan 24 Javascript
JavaScript将字符串转换为整数的方法
Apr 14 Javascript
JavaScript实现可拖拽的拖动层Div实例
Aug 05 Javascript
JavaScript实现的浮动层框架用法实例分析
Oct 10 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
Nov 15 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
Dec 01 Javascript
jquery实现的回旋滚动效果完整实例【附demo源码下载】
Sep 20 Javascript
JavaScript原生节点操作小结
Jan 17 Javascript
详解Vue.js项目API、Router配置拆分实践
Mar 16 Javascript
Vue引入Stylus知识点总结
Jan 16 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 CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
2015/11/30 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
简单的自定义php模板引擎
2016/08/26 PHP
laravel 解决crontab不执行的问题
2019/10/22 PHP
laravel通用化的CURD的实现
2019/12/13 PHP
七种PHP开发环境搭建工具
2020/06/28 PHP
飞鱼(shqlsl) javascript作品集
2006/12/16 Javascript
javascript题目,重写函数让其无限相加
2012/02/15 Javascript
JavaScript分页功能的实现方法
2015/04/25 Javascript
javascript日期验证之输入日期大于等于当前日期
2015/12/13 Javascript
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
如何让你的JS代码更好看易读
2017/12/01 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
jquery实现简单每周轮换的日历
2020/09/10 jQuery
vue-router懒加载的3种方式汇总
2021/02/28 Vue.js
详解Python中用于计算指数的exp()方法
2015/05/14 Python
在类Unix系统上开始Python3编程入门
2015/08/20 Python
Python处理XML格式数据的方法详解
2017/03/21 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
对pandas中to_dict的用法详解
2018/06/05 Python
Django框架 querySet功能解析
2019/09/04 Python
ansible动态Inventory主机清单配置遇到的坑
2020/01/19 Python
pandas 像SQL一样使用WHERE IN查询条件说明
2020/06/05 Python
python 实现一个简单的线性回归案例
2020/12/17 Python
css3绘制百度的小度熊
2018/10/29 HTML / CSS
css3实现可滑动跳转的分页插件示例
2014/05/08 HTML / CSS
中粮集团旗下食品网上购物网站:我买网
2016/09/22 全球购物
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
FILA德国官方网站:来自意大利的体育和街头服饰品牌
2019/07/19 全球购物
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/11/24 面试题
求职毕业生自荐书
2014/02/08 职场文书
法制宣传标语集锦
2014/06/25 职场文书
2014国庆65周年领导讲话稿(3篇)
2014/09/21 职场文书
2014年健康教育工作总结
2014/11/20 职场文书
拾金不昧表扬稿
2015/01/16 职场文书