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 相关文章推荐
js 提交和设置表单的值
Dec 19 Javascript
一个简单的jQuery插件制作 学习过程及实例
Apr 25 Javascript
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
Nov 25 Javascript
eval与window.eval的差别分析
Mar 17 Javascript
JS 删除字符串最后一个字符的实现代码
Feb 20 Javascript
node.js中的console.timeEnd方法使用说明
Dec 09 Javascript
javascript实现百度地图鼠标滑动事件显示、隐藏
Apr 02 Javascript
JavaScript中join()方法的使用简介
Jun 09 Javascript
Bootstrap模态框调用功能实现方法
Sep 19 Javascript
jquery插入兄弟节点的操作方法
Dec 07 Javascript
JS设计模式之状态模式概念与用法分析
Feb 05 Javascript
jQuery实现滑动开关效果
Aug 02 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
根德YB400的电路分析
2021/03/02 无线电
PHP安全配置
2006/10/09 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
PHP微信H5支付开发实例
2018/07/25 PHP
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
2011/03/10 Javascript
jQuery中after()方法用法实例
2014/12/25 Javascript
jQuery+CSS3实现3D立方体旋转效果
2015/11/10 Javascript
js实现图片无缝滚动特效
2020/03/19 Javascript
JavaScript 基础函数_深入剖析变量和作用域
2016/05/18 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
2017/03/04 Javascript
解决AjaxFileupload 上传时会出现连接重置的问题
2017/07/07 Javascript
windows系统下更新nodejs版本的方案
2017/11/24 NodeJs
如何让node运行es6模块文件及其原理详解
2018/12/11 Javascript
微信小程序 弹窗输入组件的实现解析
2019/08/12 Javascript
[01:05:41]EG vs Optic Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
解读Python中degrees()方法的使用
2015/05/18 Python
Django中间件工作流程及写法实例代码
2018/02/06 Python
python读取txt文件并取其某一列数据的示例
2019/02/19 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
tensorflow 只恢复部分模型参数的实例
2020/01/06 Python
Python实现在Windows平台修改文件属性
2020/03/05 Python
python seaborn heatmap可视化相关性矩阵实例
2020/06/03 Python
Django实现文章详情页面跳转代码实例
2020/09/16 Python
印度最大的酒店品牌网络:OYO Rooms
2016/07/24 全球购物
应届生高等护理求职信
2013/10/12 职场文书
专营店会计助理岗位职责
2013/11/29 职场文书
中文专业学生自我评价范文
2014/02/06 职场文书
青年文明号申报材料
2014/12/23 职场文书
导游欢送词
2015/01/31 职场文书
JS如何实现基于websocket的多端桥接平台
2021/05/14 Javascript