這篇文章將為大家詳細(xì)講解有關(guān)JS如何實(shí)現(xiàn)PC手機(jī)端和嵌入式滑動拼圖驗(yàn)證碼三種效果,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、成都微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了齊齊哈爾免費(fèi)建站歡迎大家使用!
PC和手機(jī)端網(wǎng)站滑動拼圖驗(yàn)證碼效果源碼,同時包涵了彈出式Demo,使用ajax形式提交二次驗(yàn)證碼所需的驗(yàn)證結(jié)果值,嵌入式Demo,使用表單形式提交二次驗(yàn)證所需的驗(yàn)證結(jié)果值,移動端手動實(shí)現(xiàn)彈出式Demo三種效果
首先要確認(rèn)前端使用頁面,比如登陸頁面
1.在登陸頁面訪問引入類庫: 如果您的網(wǎng)站使用https,則只需要將引入極驗(yàn)庫的地方換成https協(xié)議即可,不需要更改其它地方。例如更換成以下代碼即可:
2.初始化前端 下面的代碼需要在頁面加載后就執(zhí)行,如果你使用jQuery,可以寫在$(function(){});
$.ajax({ // 獲取id,challenge,success(是否啟用failback) url: "../web/StartCaptchaServlet.php?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { // 使用initGeetest接口 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗(yàn)證碼對象,之后可以使用它做appendTo之類的事件 initGeetest({ gt: data.gt, challenge: data.challenge, product: "popup", // 產(chǎn)品形式,包括:float,embed,popup。注意只對PC版驗(yàn)證碼有效 offline: !data.success // 表示用戶后臺檢測極驗(yàn)服務(wù)器是否宕機(jī),與SDK配合,用戶一般不需要關(guān)注 }, handlerPopup); } });
上面代碼的意思是說,頁面加載后,需要到你指定的URL地址上獲得驗(yàn)證碼信息,至于上面的URL地址“../web/StartCaptchaServlet.PHP”里面寫了什么內(nèi)容,這個我們在服務(wù)器端代碼部署會詳細(xì)說明。 但是需要說明的是,上面的代碼里有一個回調(diào)函數(shù)叫“handlerPopup”,這個函數(shù)是你需要驗(yàn)證碼的真正初始化代碼:如下:
// 代碼詳細(xì)說明 var handlerPopup = function (captchaObj) { // 注冊提交按鈕事件,比如在登陸頁面的登陸按鈕 $("#popup-submit").click(function () { // 此處省略在登陸界面中,獲取登陸數(shù)據(jù)的一些步驟 // 先校驗(yàn)是否點(diǎn)擊了驗(yàn)證碼 var validate = captchaObj.getValidate(); if (!validate) { alert('請先完成驗(yàn)證!'); return; } // 提交驗(yàn)證碼信息,比如登陸頁面,你需要提交登陸信息,用戶名和密碼等登陸數(shù)據(jù) $.ajax({ url: "../web/VerifyLoginServlet.php", type: "post", // dataType: "json", data: { // 用戶名和密碼等其他數(shù)據(jù),自己獲取,不做演示 username:username, password:password, // 驗(yàn)證碼數(shù)據(jù),這些數(shù)據(jù)不用自己獲取 // 這是二次驗(yàn)證所需的三個值 // 當(dāng)然,你也可以直接設(shè)置驗(yàn)證碼單獨(dú)校驗(yàn),省略其他信息 geetest_challenge: validate.geetest_challenge, geetest_validate: validate.geetest_validate, geetest_seccode: validate.geetest_seccode }, // 這里是正確返回處理結(jié)果的處理函數(shù) // 假設(shè)你就返回了1,2,3 // 當(dāng)然,正常情況是返回JSON數(shù)據(jù) success: function (result) { // 1表示驗(yàn)證碼驗(yàn)證失敗 if (result == "1") { alert("驗(yàn)證碼驗(yàn)證失??!"); }else if (result == "2") { alert("用戶名或密碼錯誤!"); }else if (result == "3") { alert("登陸成功!"); // 登陸成功了,可以在這里做其他處理 }else{ alert("登陸錯誤!"); } } }); }); // 彈出式需要綁定觸發(fā)驗(yàn)證碼彈出按鈕 // 比如在登陸頁面,這個觸發(fā)按鈕就是登陸按鈕 captchaObj.bindOn("#popup-submit"); // 將驗(yàn)證碼加到id為captcha的元素里 // 驗(yàn)證碼將會在下面指定的元素中顯示出來 captchaObj.appendTo("#popup-captcha"); // 更多接口參考:http://www.geetest.com/install/sections/idx-client-sdk.html };
關(guān)于“JS如何實(shí)現(xiàn)PC手機(jī)端和嵌入式滑動拼圖驗(yàn)證碼三種效果”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。