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 相关文章推荐
prototype 1.5 &amp; scriptaculous 1.6.1 学习笔记
Sep 07 Javascript
Dojo之路:如何利用Dojo实现Drag and Drop效果
Apr 10 Javascript
JavaScript DOM 添加事件
Feb 14 Javascript
JavaScript与Div对层定位和移动获得坐标的实现代码
Sep 08 Javascript
jQuery 版元素拖拽原型代码
Apr 25 Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
Sep 05 Javascript
JQuery手速测试小游戏实现思路详解
Sep 20 Javascript
vue.js 表格分页ajax 异步加载数据
Oct 18 Javascript
AngularJS模板加载用法详解
Nov 04 Javascript
ant-design-vue 时间选择器赋值默认时间的操作
Oct 27 Javascript
Vue2.x-使用防抖以及节流的示例
Mar 02 Vue.js
原生Js 实现的简单无缝滚动轮播图的示例代码
May 10 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
收音机的保养
2021/03/01 无线电
php获取post中的json数据的实现方法
2011/06/08 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
页面只能打开一次Cooike如何实现
2012/12/04 Javascript
javascript写的一个模拟阅读小说的程序
2014/04/04 Javascript
使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
2014/06/05 Javascript
浅谈JS闭包中的循环绑定处理程序
2014/11/09 Javascript
提交按钮的name='submit'引起的js失效问题及原因
2015/02/25 Javascript
函数window.open实现关闭所有的子窗口
2015/08/03 Javascript
AngularJS教程之环境设置
2016/08/16 Javascript
AngularJS入门教程之静态模板详解
2016/08/18 Javascript
JS锚点的设置与使用方法
2016/09/05 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
AJAX和jQuery动态加载数据的实现方法
2016/12/05 Javascript
vue获取DOM元素并设置属性的两种实现方法
2017/09/30 Javascript
vue中使用vue-router切换页面时滚动条自动滚动到顶部的方法
2017/11/28 Javascript
react-native-video实现视频全屏播放的方法
2018/03/19 Javascript
vue实现商品加减计算总价的实例代码
2018/08/12 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
2019/03/07 Javascript
用Python程序抓取网页的HTML信息的一个小实例
2015/05/02 Python
python实现汉诺塔方法汇总
2016/07/25 Python
python记录程序运行时间的三种方法
2017/07/14 Python
numpy中loadtxt 的用法详解
2018/08/03 Python
Pandas过滤dataframe中包含特定字符串的数据方法
2018/11/07 Python
python、Matlab求定积分的实现
2019/11/20 Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
2020/03/10 Python
pandas分组聚合详解
2020/04/10 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
2020/12/17 Python
德购商城:德国进口直邮商城
2017/06/13 全球购物
Zooplus葡萄牙:欧洲领先的网上宠物商店
2018/07/01 全球购物
兰蔻俄罗斯官方网站:Lancome俄罗斯
2019/12/09 全球购物
小学新学期教师寄语
2014/01/18 职场文书
工作检讨书怎么写
2015/01/23 职场文书
html+css合并表格边框的示例代码
2021/03/31 HTML / CSS
spring注解 @PropertySource配置数据源全流程
2022/03/25 Java/Android
virtualenv隔离Python环境的问题解析
2022/06/21 Python