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 相关文章推荐
背景音乐每次刷新都可以自动更换
Feb 01 Javascript
node.js中的fs.futimesSync方法使用说明
Dec 17 Javascript
jquery实现搜索框常见效果的方法
Jan 22 Javascript
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
May 07 Javascript
jquery实现简单的轮换出现效果实例
Jul 23 Javascript
jQuery实现的手机发送验证码倒计时效果代码分享
Aug 24 Javascript
基于KO+BootStrap+MVC实现的分页控件代码分享
Nov 07 Javascript
Vue实现购物车场景下的应用
Nov 27 Javascript
Vue封装Swiper实现图片轮播效果
Feb 06 Javascript
vue this.reload 方法 配置
Sep 12 Javascript
详细分析Node.js 模块系统
Jun 28 Javascript
5种方法告诉你如何使JavaScript 代码库更干净
Sep 15 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实现的农历算法实例
2015/08/11 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
python进程与线程小结实例分析
2018/11/11 PHP
javascript scrollTop正解使用方法
2013/11/14 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
javascript基本语法
2016/05/31 Javascript
NodeJs——入门必看攻略
2016/06/27 NodeJs
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
Angular2从搭建环境到开发步骤详解
2016/10/17 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
JavaScript获取服务器时间的方法详解
2016/12/11 Javascript
angularjs 实现带查找筛选功能的select下拉框实例
2017/01/11 Javascript
Vue 2.0入门基础知识之内部指令详解
2017/10/15 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
通过javascript实现段落的收缩与展开
2019/06/26 Javascript
在vue-cli中引入lodash.js并使用详解
2019/11/13 Javascript
vue 封装 Adminlte3组件的实现
2020/03/18 Javascript
JS组件库AlloyTouch实现图片轮播过程解析
2020/05/29 Javascript
[00:43]FTP典藏礼包 DOTA2三大英雄霸气新套装
2014/03/21 DOTA
Python的高级Git库 Gittle
2014/09/22 Python
python获取文件扩展名的方法
2015/07/06 Python
深入理解Python中range和xrange的区别
2017/11/26 Python
python中abs&amp;map&amp;reduce简介
2018/02/20 Python
基于python的多进程共享变量正确打开方式
2018/04/28 Python
对Python强大的可变参数传递机制详解
2019/06/13 Python
最小二乘法及其python实现详解
2020/02/24 Python
Python3实现英文字母转换哥特式字体实例代码
2020/09/01 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
新大陆软件面试题
2016/11/24 面试题
就业自荐信
2013/12/04 职场文书
《纸船和风筝》教学反思
2014/02/15 职场文书
项目合作意向书模板
2014/07/29 职场文书
食品安全演讲稿
2014/09/01 职场文书
2015年医院工作总结范文
2015/04/09 职场文书
2015安全保卫工作总结
2015/04/25 职场文书
超外差式晶体管收音机的组装与统调
2021/04/22 无线电