programing

JavaScript를 사용하여 ReCaptcha를 새로고침하는 방법

projobs 2023. 1. 14. 10:15
반응형

JavaScript를 사용하여 ReCaptcha를 새로고침하는 방법

AJAX 가입 폼을 가지고 있기 때문에 오류가 발생할 때마다(즉, 이미 사용 중인 사용자 이름) Recapcha 이미지를 새로 고치고 싶습니다.

JavaScript를 사용하여 새로고침 할 수 있는 ReCaptcha와 호환되는 코드를 찾고 있습니다.

reCaptcha v2의 경우 다음을 사용합니다.

grecaptcha.reset();

reCaptcha v1을 사용하는 경우(아마도 사용 안 함):

Recaptcha.reload();

이는 에 이미 로드된 Recapcha가 있는 경우 가능합니다.window.

(아래의 @SebiH 코멘트에 근거해 갱신).

버전 1을 사용하는 경우

Recaptcha.reload();

버전 2를 사용하는 경우

grecaptcha.reset();

중요:reCAPTCHA API 버전 1.0은 더 이상 지원되지 않습니다.버전 2.0으로 업그레이드하십시오.

grecaptcha.reset();을 사용하여 captcha를 리셋할 수 있습니다.

출처 : https://developers.google.com/recaptcha/docs/display#js_api

grecaptcha.reset(opt_widget_id)

reCAPTCHA 위젯을 재설정합니다.선택적 위젯 ID를 전달할 수 있습니다. 그렇지 않으면 함수는 처음 작성된 위젯을 재설정합니다.(Google 웹페이지에서)

또는 새로 고침 버튼을 클릭하는 것만으로 시뮬레이션할 수 있습니다.

// If recaptcha object exists, refresh it
    if (typeof Recaptcha != "undefined") {
      jQuery('#recaptcha_reload').click();
    }

이거 드셔보세요

<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에 새로운 recapcha 인스턴스가 입력됩니다.

각도JS 사용자:

$window.grecaptcha.reset();

새로운 retapcha 2.0을 사용하는 경우 다음 코드를 사용합니다.

ScriptManager.RegisterStartupScript(this, this.GetType(), "CaptchaReload", "$.getScript(\"https://www.google.com/recaptcha/api.js\", function () {});", true);

간단한 javascript용

<script>$.getScript(\"https://www.google.com/recaptcha/api.js\", function () {});</script>

언급URL : https://stackoverflow.com/questions/3371314/how-to-reload-recaptcha-using-javascript

반응형