javascript - Uncaught ReferenceError : Firebase is not defined

标签 javascript html firebase firebase-realtime-database

我尝试使用以下代码对新注册的用户进行身份验证,但它甚至无法初始化 firebase,并弹出此错误:

Uncaught ReferenceError: firebase is not defined

下面是我的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>register</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
    <script src='https://cdn.firebase.com/js/client/2.4.2/firebase.js'></script>
</head>
<body>
    <script>
        var config = {
            databaseURL: 'https://apcs-4bfaa.firebaseio.com/'
        };
        firebase.initializeApp(config);

        var ref = new Firebase("https://apcs-4bfaa.firebaseio.com/");

        function registerUser() {
            var email = document.getElementById("email").value;
            var password = document.getElementById("password").value;
            ref.auth().createNewUserWithEmailAndPassword(email, password);
        }
    </script>

    <div class="form">
        <div id="error"></div>
        <form onsubmit="registerUser();">
            <label>Email:</label>
            <input type="text" name="email" id="email"><br>
            <label>Password:</label>
            <input type="password" name="pwd" id="password"><br>
            <input type="submit" value="Sign Up"><br>
        </form>
    </div>
</body>
</html>

最佳答案

您的代码混合了旧版 2.4.2 API 和 3.0 SDK。

不再有 new Firebase() 调用。您需要使用新的 SDK,当前为 3.0.3,然后配置您的应用。

<script src="https://www.gstatic.com/firebasejs/3.0.3/firebase.js"></script>
<script>
  // Initialize Firebase
  var config = {
    apiKey: '<your-api-key>',
    authDomain: '<your-auth-domain>',
    databaseURL: '<your-database-url>',
    storageBucket: '<your-storage-bucket>'
  };
  firebase.initializeApp(config);
</script>

配置后您可以创建引用。

firebase.database().ref()

所以在你的情况下会是:

<script>
    var config = {
        databaseURL: 'https://apcs-4bfaa.firebaseio.com/'
    };
    firebase.initializeApp(config);

    // new 3.0 SDK method!
    var ref = firebase.database().ref();

    function registerUser() {
        var email = document.getElementById("email").value;
        var password = document.getElementById("password").value;
        firebase.auth().createNewUserWithEmailAndPassword(email, password);
    }
</script>

Check out the docs for more info.

关于javascript - Uncaught ReferenceError : Firebase is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37617660/

相关文章:

javascript - Express MongoDB 和 Mongoose 使用 findByIdAndRemove() 删除然后重定向

ios - 如何在 iOS 中从 Firebase 消息通知中获取主题?

android - Firestore 架构版本控制和向后兼容 Android 应用程序以防止崩溃

ios - child 因扇出而改变

javascript - 配置 Mosquitto 服务器以从 javascript 接收消息

javascript - 如何在自己的应用程序中显示来自 Alfresco 的文档?

javascript - 来自 api 的 Nuxt 动态路由

javascript - 选择 HTML 部分

html - Networkx pyvis : change color of nodes

javascript - 单击链接时折叠 Bootstrap Well