You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在任务/Promise执行完成后禁用Firebase reCAPTCHA?

解决reCAPTCHA任务完成后未自动禁用的问题

当前代码实现:

window.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('sign-in-button', {
  'size': 'invisible',
  'callback': (response) => {

  }
});

问题:函数主体任务执行完成后,reCAPTCHA仍保持启用状态,未按预期禁用。

解决方法:

  • 任务执行完成后,手动调用reCAPTCHA实例的reset()方法,该方法会重置验证码状态,实现禁用效果:
    // 在任务完成的逻辑末尾添加
    window.recaptchaVerifier.reset();
    
  • 若用于Firebase手机号登录流程,可在登录成功/失败的回调中调用重置方法,确保无论结果如何都能禁用验证码:
    firebase.auth().signInWithPhoneNumber(phoneNumber, window.recaptchaVerifier)
      .then((confirmationResult) => {
        // 登录流程完成后重置
        window.recaptchaVerifier.reset();
      })
      .catch((error) => {
        // 错误场景下也重置,避免验证码持续激活
        window.recaptchaVerifier.reset();
      });
    
  • 检查任务完成的逻辑是否正常触发,确认reset()方法没有因代码报错、逻辑分支未覆盖等情况而未执行。

内容的提问来源于stack exchange,提问作者Sami Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 06:50:53