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 图片的展开和伸缩实例讲解
Apr 18 Javascript
jquery获取div距离窗口和父级dv的距离示例
Oct 10 Javascript
js在IE与firefox的差异集锦
Nov 11 Javascript
jquery插件qrcode在线生成二维码
Apr 26 Javascript
基于JS实现EOS隐藏错误提示层代码
Apr 25 Javascript
AngularJS模块详解及示例代码
Aug 17 Javascript
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
Mar 06 Javascript
element-ui 中的table的列隐藏问题解决
Aug 24 Javascript
微信小程序单选radio及多选checkbox按钮用法示例
Apr 30 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
Jun 27 Javascript
vue实现axios图片上传功能
Aug 20 Javascript
JavaScript数组常用的增删改查与其他属性详解
Oct 13 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
索尼ICF-SW100收音机评测
2021/03/02 无线电
用PHP生成静态HTML速度快类库
2007/03/18 PHP
PHP链接MySQL的常用扩展函数
2014/10/23 PHP
PHP实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
JS this作用域以及GET传输值过长的问题解决方法
2013/08/06 Javascript
Document.location.href和.replace的区别示例介绍
2014/03/04 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
元素未显示设置width/height时IE中使用currentStyle获取为auto
2014/05/04 Javascript
jQuery实现带动画效果的多级下拉菜单代码
2015/09/08 Javascript
Bootstrap表格和栅格分页实例详解
2016/05/20 Javascript
Angularjs 创建可复用组件实例代码
2016/10/09 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
详解JSON Web Token 入门教程
2018/07/30 Javascript
深入浅出理解JavaScript高级定时器原理与用法
2018/08/02 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
基于node.js实现爬虫的讲解
2019/02/18 Javascript
跟老齐学Python之玩转字符串(2)
2014/09/14 Python
python写xml文件的操作实例
2014/10/05 Python
python测试mysql写入性能完整实例
2018/01/18 Python
基于Django URL传参 FORM表单传数据 get post的用法实例
2018/05/28 Python
Python类装饰器实现方法详解
2018/12/21 Python
使用python opencv对目录下图片进行去重的方法
2019/01/12 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
浅谈python之自动化运维(Paramiko)
2020/01/31 Python
python模拟点击网页按钮实现方法
2020/02/25 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
2020/03/28 Python
解决echarts中饼图标签重叠的问题
2020/05/16 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
2020/05/23 Python
python两个list[]相加的实现方法
2020/09/23 Python
会计专业大学生职业生涯规划书
2014/02/11 职场文书
幼儿园消防演练方案
2014/02/13 职场文书
解除劳动合同协议书范本2014
2014/09/25 职场文书
2014年小学教学工作总结
2014/11/13 职场文书
爱心捐款活动总结
2015/05/09 职场文书
虎兄虎弟观后感
2015/06/12 职场文书
换届选举主持词
2015/07/03 职场文书