목차

리캡차 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

템플릿 파일

화면 스크립트

// 참고사이트
// 구글 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();
}