1

Firebase のシンプルなログインを使用しようとしており、How do I use Firebase Simple Login with email & password に記載されている一般的な方法に従おうとしています。

ただし、新しいユーザーを作成 (またはサインイン) しようとするたびに、

SERVER_ERROR: ページのロード中に wss://s-xxxxxxxx への接続が中断されました。

これはどのように発生し、どうすれば解決できますか?

また、Firefox では値をハードコーディングすると (つまり、createUser を登録送信ハンドラーの外部で取得すると) 動作しますが、Chrome では動作しません。

login.html

<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
    <script type='text/javascript' src='https://cdn.firebase.com/v0/firebase.js'></script>
    <script type='text/javascript' src='https://cdn.firebase.com/v0/firebase-simple-login.js'></script>
    </head>
    <body>
        <div id="login_or_register">
        </div>
        <button id="logout">Logout</button>
        <script type='text/javascript' src='loginScript.js'></script>
    </body>
</html>

loginScript.js

function showLoginRegister(auth){

                    $register_form = $('<form id="register">'+
                      '<input type="text" name="register-email" id="register-email" value="email@example.com">'+
                    '<input type="password" name="register-password" id="register-password" value="password">'+
                    '<input type="submit" value="Create an account!"/>'+'</form>')

                    $login_form = $('<form id="login">'+'<input type="text" name="login-email" id="login-email" value="email@example.com">'+
                    '<input type="password" name="login-password" id="login-password" value="password">'+
                    '<input type="checkbox" name="rememberCheckbox" id="rememberCheckbox" checked>'+
                    '<input type="submit" value="Sign in"/>'+'</form>')
                    $('#login_or_register').append($register_form,$login_form);

                    $("#register").submit(function() {
                        var email = $("#register-email").val();
                    var password = $("#register-password").val();
                    auth.createUser(email, password, function(error, user) {
                            if (!error) {
                                  auth.login("password", {
                                  email: email,
                                    password: password,
                                    rememberMe: false
                                });
                            }
                            else{
                                console.log(error);
                            }
                        });
                    });

                    $("#login").submit(function() {
                        var email = $("#login-email").val();
                    var password = $("#login-password").val();
                    var checkbox = $("#rememberCheckbox").val();
                      auth.login("password", {
                            email: email,
                            password: password,
                            rememberMe: checkbox
                        });
                    });  
                };


                var ref = new Firebase('https://xxx.firebaseio.com/');
                var auth = new FirebaseSimpleLogin(ref, function(error, user) {
                    if (error){
                        console.log(error);
                      return;
                  }
                  if (user) {
                    // user authenticated with Firebase
                        $("#logout").click(function(){
                            auth.logout();
                       })
                  } 
                  else {
                    showLoginRegister(this);
                      // user is logged out
                  }
                });
4

1 に答える 1