Оба reCaptcha v2 и v3 на одной странице - PullRequest
0 голосов
/ 07 ноября 2018

, насколько я понимаю, представляется возможным использовать как v2, так и v3 на одной странице (см. https://github.com/google/recaptcha/issues/279),, но не могу найти ни одного примера: /

У меня уже есть HTML-страницы с невидимым v2, и сначала я хочу оценить точность оценки v3, не нарушая мой текущий v2 (v3 будет только для целей тестирования). Мне также было интересно, можно ли использовать v3 и рендерить вызовы v2 для низких результатов.

Есть идеи?

(простите за мой английский, это не мой родной язык;)

1 Ответ

0 голосов
/ 18 февраля 2019

Следующий пример (написанный Антон Чернявский ) работает.

Тем не менее, я думаю, что это работает только с v2 invisible + v3, т. Е .: Вы не можете использовать v2 checkbox + v3.

<script src="https://www.google.com/recaptcha/api.js?onload=v2_onload"></script>
<script src="https://www.google.com/recaptcha/api.js?onload=v3_onload&render=V3_SITE_KEY"></script>
<div class="g-recaptcha" data-size="invisible" data-sitekey="V2_INVISIBLE_SITE_KEY" data-callback="v2_callback"></div>
<script type="text/javascript">
    function v2_onload() { console.log('v2 loaded'); }
    function v3_onload() { console.log('v3 loaded'); }
    function v2_callback(token) { console.log('v2 token: ' + token); }
    function v3_callback(token) { console.log('v3 token: ' + token); }

    // call these manually
    function test_v2() { grecaptcha.execute(); }
    function test_v3() { grecaptcha.execute(V3_SITE_KEY/*, {action: '...'}*/).then(v3_callback); }
</script>
...