javascript - reCaptcha v3 不执行
问题描述
我正在使用以下代码从 ReCaptcha v3 获取令牌。但有时 ReCaptcha 不会调用该signup(token);
函数。我应该改变我的 IP 来解决这个问题。
我的代码:
<div id='recaptcha' class="g-recaptcha" data-sitekey="SITE_KEY" data-size="invisible"></div>
<script>
var TOKEN = null;
var CAPTCHA_ID;
var formType = null;
var onCaptchaLoad = function () {
CAPTCHA_ID = grecaptcha.render('recaptcha', {
'sitekey': SITE_KEY,
'callback': getToken,
'expired-callback': tokenExpired,
'size': 'invisible'
})
}
var getToken = function (token) {
$(document).trigger('token-ready', token);
};
var tokenExpired = function () {
TOKEN = null;
}
function callSignUp() {
grecaptcha.reset(CAPTCHA_ID);
grecaptcha.execute();
$(document).off("token-ready");
$(document).on('token-ready', function (event, token) {
signup(token);
})
}
</script>
<script src="https://www.google.com/recaptcha/api.js?hl=fa&onload=onCaptchaLoad&render=explicit" async defer></script>
解决方案
看看这个 npm包
npm install recaptcha-v3
推荐阅读
- ios - Metro-bundler 错误:Haste 模块映射中不存在模块`@babel/runtime/helpers/interopRequireDefault`
- vue.js - 您可以对引导布局网格列进行分页吗?
- java - 这个 JAVA 程序的时间复杂度是多少
- windows - Emacs 退出失败,出现“utf-8 无法编码”错误
- python - 如何让不和谐机器人重复播放歌曲?
- web - 网络语音识别自动断开
- nix - 如何使用 nix build 引用命令行参数?
- angular - 角材料 - 垫表动态页脚/标题 rowDef
- prisma - 带条件的 Prisma 查询
- mysql - 根据 AMDP/MYSQL 中的连续日期汇总行的列值