Firebase recaptchaVerifier, показывающий неперехваченную ошибку типа: не удается прочитать свойство ‘RecaptchaVerifier’ для undefined

#javascript #firebase-authentication

#javascript #firebase-аутентификация

Вопрос:

Я пытаюсь реализовать телефонную аутентификацию firebase, но у меня продолжал оставаться неперехваченный TypeError: не удается прочитать свойство ‘RecaptchaVerifier’ из undefined.

Ниже приведен пример кода, который я использую

Пожалуйста, кто-нибудь может помочь с возможными дальнейшими путями?

 <!DOCTYPE html>
<html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <body class="body-film">
        <h1>Enter Phone Number</h1>
        <form>
            <input type="text" id="number" placeholder="080******" />
            <div id="recaptcha-container"></div>
            <button type="button" onclick="phoneAuth();">Send Code</button>
        </form><br />

        <h1>Enter OTP</h1>
        <form>
            <input type="text" id="verificationCode" placeholder="OTP HERE" />
            <button type="button" onclick="codeverify();">VERIFY OTP</button>
        </form>

        
        
        <!-- The core Firebase JS SDK is always required and must be listed first -->
        <script src="https://www.gstatic.com/firebasejs/7.24.0/firebase-app.js"></script>

        <!-- TODO: Add SDKs for Firebase products that you want to use
             https://firebase.google.com/docs/web/setup#available-libraries -->
        <script src="https://www.gstatic.com/firebasejs/7.24.0/firebase-analytics.js"></script>

        <script>
          // Your web app's Firebase configuration
          // For Firebase JS SDK v7.20.0 and later, measurementId is optional
          var firebaseConfig = {
            apiKey: "*****************",
            authDomain: "*****************",
            databaseURL: "*****************",
            projectId: "*****************",
            storageBucket: "*****************",
            messagingSenderId: "*****************",
            appId: "*****************",
            measurementId: "*****************"
          };
          // Initialize Firebase
          firebase.initializeApp(firebaseConfig);
          firebase.analytics();

         window.onload = function(){
            render();
         }
         function render(){
            window.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');
            recaptchaVerifier.render();
         }
        </script>

    </body>
</html>
  

Ответ №1:

Я не вижу, где вы добавили скрипт include для аутентификации Firebase:

 <script src="https://www.gstatic.com/firebasejs/7.24.0/firebase-auth.js"></script>
  

Комментарии:

1. Большое спасибо. у меня недостаточно репутации, чтобы проголосовать за вас, но я благодарен