用戶通過拖動滑塊行為來完成校驗,支持PC端及移動端。可以將用戶拖動行為的時間、精度,滑動軌跡等信息到服務器,然后進行后臺算法驗證。
使用方法:
依賴插件:jQuery、bootstrap、font-awesome
將引入樣式表的 <link> 標簽復制并粘貼到 <head> 中,并放在所有其他樣式表之前。
<link href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css"> <link href="https://cdn.bootcss.com/font-awesome/5.7.2/css/all.min.css"> <link href="./src/slidercaptcha.css">
將引入腳本的 <script> 標簽復制并粘貼到 <body> 最后面。
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> <script src="./src/longbow.slidercaptcha.js"></script>
添加網頁Html元素
<div id="captcha"></div>
通過 javascript 初始化控件
<div id="captcha"></div> <script> $('#captcha').sliderCaptcha(); </script>
你還可以根據自己需要設置寬度與高度等配置
<script> $('#captcha').sliderCaptcha({ width: 280, height: 150, sliderL: 42, sliderR: 9, offset: 5, loadingText: '正在加載中...', failedText: '再試一次', barText: '向右滑動填充拼圖', repeatIcon: 'fa fa-redo' setSrc: function () { //設置圖片加載路徑 }, onSuccess: function () { //驗證通過時回調此函數 }, onFail: function () { //驗證失敗時回調此函數 }, onRefresh: function () { //點擊重新加載圖標時回調此函數 } }); </script>
詳細參數:
名稱 | 類型 | 默認值 | 說明 |
---|---|---|---|
width | integer | 280 | 背景圖片寬度 |
height | integer | 150 | 背景圖標高度 |
sliderL | integer | 42 | 拼圖寬度 |
sliderR | integer | 9 | 拼圖突出半徑 |
offset | integer | 5 | 驗證容錯偏差值 默認5個像素偏差即認為驗證通過 |
loadingText | string | "正在加載中..." | 圖片加載時顯示的文本信息 |
failedText | string | "再試一次" | 驗證失敗時顯示的文本信息 |
barText | integer | "向右滑動填充拼圖" | 拖動滑塊準備拖動時顯示的文本信息 |
repeatIcon | string | "fa fa-redo" | 重新加載圖標 需引用 font-awesome |
setSrc | function | "https://picsum.photos/?image=random" | 設置圖片加載路徑 |
onSuccess | function | null | 驗證通過時回調此函數 |
onFail | function | null | 驗證失敗時回調此函數 |
onRefresh | function | null | 點擊重新加載圖標時回調此函數 |
localImages | function | function () { return 'images/Pic' + Math.round(Math.random() * 4) + '.jpg'; } | 圖床圖片加載失敗時調用此方法返回本地圖片路徑 |
其他方法:
<div id="captcha"></div> <script> $('#captcha').sliderCaptcha(); $('#captcha').sliderCaptcha('reset'); </script>
參數:
Method | Example | Description |
---|---|---|
reset | $('#captcha').sliderCaptcha('reset') | 重置控件 |