====== 리캡차 V2 가이드 ======
이 화면은구글 reCAPTCHA 제공하는 라이브러리를 이용한 샘플 화면이다.
구글 reCAPTCHA 키 만들기: https://cloud.google.com/recaptcha-enterprise/docs/create-key-website?hl=ko
구글 reCAPTCHA v2 가이드 : https://developers.google.com/recaptcha/docs/display?hl=ko
===== 예시 =====
템플릿 위치: /HTML5/OSS/recaptcha_v2
템플릿 파일
* [[xf5projecthome>template/screen/HTML5/OSS/recaptcha_v2.xml|recaptcha_v2.xml]]
* [[xf5projecthome>template/screen/HTML5/OSS/recaptcha_v2.js|recaptcha_v2.js]]
* [[xf5projecthome>template/template.html?xframe_screen_url=/HTML5/OSS/recaptcha_v2|새창으로 실행]]
echo '';
echo '';
echo '';
==== 화면 스크립트 ====
// 참고사이트
// 구글 reCAPTCHA 키 만들기 : https://cloud.google.com/recaptcha-enterprise/docs/create-key-website?hl=ko
// reCAPTCHA v2 가이드 : https://developers.google.com/recaptcha/docs/display?hl=ko
function btnLoadRecaptcha_on_mouseup(objInst)
{
// 비동기 방식으로 로드 및 onload 처리 한다.
screen.loadjs("https://www.google.com/recaptcha/api.js", "recaptcha_onload", 1, false);
}
// screen.loadjs 콜백 함수
function recaptcha_onload(strUrl, bSuccess) {
factory.consoleprint("URL: " + strUrl);
if (bSuccess == false) {
screen.alert("screen.loadjs fail");
return;
}
// 로드 완료후에 리차지가 준비할때까지 대기한다.
grecaptcha.ready(function () {
factory.consoleprint("grecaptcha ready ok");
// 리차지를 만든다.
grecaptcha.render(this.div_recaptcha.getdomid(), {
"sitekey" : "6Lfohl8pAAAAAKhwy8CnVsbFyDpR2o9bPlI2NSno",
"callback" : function (response) {
// 인증성공시에
factory.consoleprint("grecaptcha ok");
alert(response);
},
"expired-callback" : function (response) {
// 인증만료시에
factory.consoleprint("grecaptcha expired");
alert("인증만료: " + response);
},
"error-callback" : function (response) {
factory.consoleprint("grecaptcha 오류 발생");
alert("grecaptcha 오류 발생");
},
"theme" : "light"
});
});
}
function btnreset_on_mouseup(objInst)
{
grecaptcha.reset();
}