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的分页控件(C#)
Jan 06 Javascript
深入理解Javascript中的循环优化
Nov 09 Javascript
Juery解决tablesorter中文排序和字符范围的方法
May 06 Javascript
javascript删除元素节点removeChild()用法实例
May 26 Javascript
jQuery EasyUI 菜单与按钮之创建简单的菜单和链接按钮
Nov 18 Javascript
AngularJS轻松实现双击排序的功能
Aug 30 Javascript
jQuery判断是否存在滚动条的简单方法
Sep 17 Javascript
JS自定义混合Mixin函数示例
Nov 26 Javascript
利用Three.js如何实现阴影效果实例代码
Sep 26 Javascript
react-native 圆弧拖动进度条实现的示例代码
Apr 12 Javascript
vue2.0 实现导航守卫(路由守卫)
May 21 Javascript
Jquery和CSS实现选择框重置按钮功能
Nov 08 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
DC动漫人物排行
2020/03/03 欧美动漫
PHP在字符断点处截断文字的实现代码
2011/04/21 PHP
PHP内置加密函数详解
2016/11/20 PHP
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
2010/11/05 Javascript
jquery获取tr并更改tr内容示例代码
2014/02/13 Javascript
javascript实现控制浏览器全屏
2015/03/30 Javascript
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
利用JS生成博文目录及CSS定制博客
2016/02/10 Javascript
JS实现关闭当前页而不弹出提示框的方法
2016/06/22 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
2016/12/23 Javascript
常用的javascript设计模式
2017/01/11 Javascript
div中文字内容溢出常见的解决方法
2017/03/16 Javascript
JavaScript实现星星等级评价功能
2017/03/22 Javascript
使用JavaScript实现链表的数据结构的代码
2017/08/02 Javascript
JS基于正则表达式实现的密码强度验证功能示例
2017/09/21 Javascript
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
JS实现鼠标移动拖尾
2020/12/27 Javascript
Python中的XML库4Suite Server的介绍
2015/04/14 Python
深入解析Python中的线程同步方法
2016/06/14 Python
Python简单生成8位随机密码的方法
2017/05/24 Python
Python 私有函数的实例详解
2017/09/11 Python
Jupyter notebook远程访问服务器的方法
2018/05/24 Python
python验证码识别教程之滑动验证码
2018/06/04 Python
python3安装crypto出错及解决方法
2019/07/30 Python
python3 pillow模块实现简单验证码
2019/10/31 Python
印度化妆品购物网站:Nykaa
2018/07/22 全球购物
static函数与普通函数有什么区别
2015/12/25 面试题
创伤外科专业推荐信范文
2013/11/19 职场文书
企业军训感想
2014/02/07 职场文书
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
暑期社会实践感言
2014/02/25 职场文书
《长相思》听课反思
2014/04/10 职场文书
钓鱼岛事件感想
2015/08/11 职场文书
详解Python魔法方法之描述符类
2021/05/26 Python