gpt4 book ai didi

javascript - reCaptcha 小部件不会过期并且永远不会调用过期的回调

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:41:17 36 4
gpt4 key购买 nike

我无法将 reCaptcha 集成到我的 ajax 联系表单中。它仅在用户完成挑战后的前 2 分钟有效。 ReCaptcha 在 2 分钟后过期。问题是小部件完好无损,不像“ session 已过期。再次完成挑战”。用户无法执行任何操作,只能重新加载页面。也不会调用过期回调(显然因为小部件不会过期)。

我可以在完成后设置 2 分钟的计时器来重置小部件。那会行得通,但它有点老套,如果谷歌选择在未来更改到期时间怎么办。知道为什么它不会过期吗?

我尝试了两种集成小部件的方法(自动和显式)

编辑:这是代码,我制作了一个小示例 html 文件并证明它不起作用。

<html>
<head></head>

<body>

<div id="google-recaptcha-widget"></div>

<script>
var expiredCallback = function() {
alert('expired!');
}

var recaptchaLoad = function() {

grecaptcha.render('google-recaptcha-widget', {
'sitekey' : 'mysitekey'
'expired-callback': expiredCallback
});

}

</script>

<script src="https://www.google.com/recaptcha/api.js?onload=recaptchaLoad&render=explicit" async defer></script>

</body></html>

最佳答案

<div id="google-recaptcha-widget" class="g-recaptcha" data-sitekey="mySiteKey" data-callback="myCallbackMethod" data-expired-callback="expiredCallback"></div>

<script>
function myCallbackMethod() {
// save the world
}

function expiredCallback() {
// Uh oh, reCAPTCHA expired, hack the world
}
</script>

关于javascript - reCaptcha 小部件不会过期并且永远不会调用过期的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38339095/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com