오류가 발생할 때마다 (즉, 이미 사용중인 사용자 이름) 언제든지 Recaptcha 이미지를 새로 고치도록 AJAX에 가입 양식이 있습니다.
JavaScript를 사용하여 다시로드하기 위해 ReCaptcha와 호환되는 코드를 찾고 있습니다.
오류가 발생할 때마다 (즉, 이미 사용중인 사용자 이름) 언제든지 Recaptcha 이미지를 새로 고치도록 AJAX에 가입 양식이 있습니다.
JavaScript를 사용하여 다시로드하기 위해 ReCaptcha와 호환되는 코드를 찾고 있습니다.
답변:
중요 사항 : reCAPTCHA API 버전 1.0은 더 이상 지원되지 않습니다. 버전 2.0으로 업그레이드하십시오.
grecaptcha.reset ()을 사용할 수 있습니다 . 보안 문자를 재설정합니다.
출처 : https://developers.google.com/recaptcha/docs/verify#api-request
reCaptcha v2의 경우 다음을 사용하십시오.
grecaptcha.reset();
reCaptcha v1을 사용하는 경우 ( 아마도 아닙니다 ) :
Recaptcha.reload();
에 이미로드 된 Recaptcha가있는 경우 수행됩니다 window
.
(아래 @SebiH의 의견에 따라 업데이트되었습니다.)
grecaptcha.reset();
반응 형 앱에 이것을 사용 하고 있으며 완벽하게 작동합니다
if (window.grecaptcha) grecaptcha.reset();
버전 1을 사용중인 경우
Recaptcha.reload();
버전 2를 사용중인 경우
grecaptcha.reset();
grecaptcha.reset(opt_widget_id)
reCAPTCHA 위젯을 재설정합니다. 선택적 위젯 ID를 전달할 수 있습니다. 그렇지 않으면 함수는 작성된 첫 번째 위젯을 재설정합니다. (Google 웹 페이지에서)
이 시도
<script type="text/javascript" src="//www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>
<script type="text/javascript">
function showRecaptcha() {
Recaptcha.create("YOURPUBLICKEY", 'captchadiv', {
theme: 'red',
callback: Recaptcha.focus_response_field
});
}
</script>
<div id="captchadiv"></div>
showRecaptcha를 호출하면 captchadiv에 새 recaptcha 인스턴스가 채워집니다.
또는 새로 고침 버튼을 클릭하여 시뮬레이션 할 수도 있습니다.
// If recaptcha object exists, refresh it
if (typeof Recaptcha != "undefined") {
jQuery('#recaptcha_reload').click();
}
Recaptcha
그리고 grecaptcha
모두 내 페이지에서 정의되지 않은 있습니다. 이것은 약간의 수정으로 나를 위해 일했습니다 :if( $("#recaptcha_reload").length > 0 ){ ....
새로운 recaptcha 2.0을 사용하는 경우 이것을 사용하십시오 : 코드 숨김 :
ScriptManager.RegisterStartupScript(this, this.GetType(), "CaptchaReload", "$.getScript(\"https://www.google.com/recaptcha/api.js\", function () {});", true);
간단한 자바 스크립트
<script>$.getScript(\"https://www.google.com/recaptcha/api.js\", function () {});</script>