reCAPTCHA会话到期时触发事件
我正在研究谷歌reCAPTCHA。 它工作正常但是当reCAPTCHA会话在一定时间后到期并且用户再次单击复选框以填充reCAPTCHA时,谷歌会显示警告说Error: invalid load parameters.
在用户重新加载页面之前,没有任何工作。
包含session expired
消息的div
块具有类rc-anchor-expired-msg
。 我尝试使用这个类来实现div show
事件,以便在会话到期后立即触发事件并尝试重置recaptcha。 但这也不起作用。
是否有回调函数或某些东西,我可以在会话到期时重置recaptcha。
在渲染reCAPTCHA时可以传递一个expired-callback参数,然后可以调用grecaptcha.reset()
方法。
例如:
把它放在标题中。
把它放在将用于渲染reCAPTCHA的元素之后。
这会在每次会话到期时重置reCAPTCHA。 摆脱了Error: invalid load parameters.
的问题Error: invalid load parameters.
我的警报窗口。
如果需要解释它是如何工作的,当加载api时,它会从头脚本标记中调用callback
函数。 此函数呈现reCAPTCHA并将expired-callback
声明为expCallback
函数,该函数仅将reCAPTCHA重置为其原始状态。
您应该能够在自动呈现reCAPTCHA(而不是像上面那样明确地呈现它)小部件时使用data-expired-callback
作为标记属性,但是当我以这种方式尝试时,回调对我来说不起作用。