我正在尝试使用 Firebase 的简单登录,并尝试遵循How do I use Firebase Simple Login with email & password中列出的一般方法。
但是,每次我尝试创建新用户(或登录)时,我都会得到一个
SERVER_ERROR:到 wss://s-xxxxxxxx 的连接在页面加载时中断。
这是如何引起的,我该如何解决?
此外,当我对值进行硬编码时(即在注册提交处理程序之外使用 createUser),它在 Firefox 上有效,但在 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
}
});