我正在使用Google隐形recaptcha.有没有办法检测挑战窗口什么时候关闭?通过挑战窗口,我指的是您必须选择一些图像进行验证的窗口.
一旦按下按钮,我现在在按钮上放置一个微调器,该按钮呈现recaptcha挑战.无法通过另一个挑战窗口提示用户.
我以编程方式调用render函数:
grecaptcha.render(htmlElement, { callback: this.verified, expiredCallback: this.resetRecaptcha, sitekey: this.siteKey, theme: "light", size: "invisible" });
Run Code Online (Sandbox Code Playgroud)
我有2个回调函数连接验证和resetRecaptcha函数,如下所示:
function resetRecaptcha() {
grecaptcha.reset();
}
function verified(recaptchaResponse)
{
/*
which calls the server to validate
*/
}
Run Code Online (Sandbox Code Playgroud)
我原以为grecaptcha.render有另一个回调,当挑战屏幕关闭而没有用户通过选择图像验证自己时调用.
我用这样的代码渲染 grecaptcha
let callback;
const p = new Promise((resolve) => callback = (result) => resolve(result));
grecaptcha.render(el, {
sitekey: window.settings.recaptchaKey,
size: "invisible",
type: "image",
callback: result => callback(result),
badge: "inline"
});
const key = await p;
Run Code Online (Sandbox Code Playgroud)
一切正常,但如果用户单击 recaptcha 模式的背景,recaptcha 会关闭并且我无法检测到它,所以我无限等待响应
我需要某种事件或回调来检测它何时关闭