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
}
});