Mac*_*zyk 5 javascript captcha recaptcha
我无法在我的 ajax 联系表单中集成 reCaptcha。它有效,仅在用户完成挑战后的前 2 分钟内有效。ReCaptcha 将在 2 分钟后过期。问题是小部件完好无损,没有像“会话已过期。再次完成挑战”。用户无法执行任何操作,只能重新加载页面。也不会调用过期回调(显然因为小部件不会过期)。
我可以在完成后设置一个 2 分钟的计时器来重置小部件。那会奏效,但有点麻烦,如果 Google 将来选择更改过期时间会怎样。任何想法为什么它不会过期?
我尝试了两种集成小部件的方法(自动和显式)
编辑:这是代码,我制作了一个小示例 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>
Run Code Online (Sandbox Code Playgroud)
小智 2
<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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3208 次 |
| 最近记录: |