Я использую аутентификацию на основе пароля Firebase в моем login.html
. У меня есть 2 текстовых поля и 3 кнопки.Firebase OnAuthStateChanged функция не возвращает ничего
Я использую firebase.OnAuthStateChanged
, чтобы узнать, был ли пользователь зарегистрирован или вышел из системы. Когда пользователь входит в систему, текстовое поле пароля и кнопка входа в систему должны быть скрыты, поэтому я использую для этого display : none;
. И когда пользователь выйдет из системы, кнопка выхода из системы должна быть скрыта.
кнопки работают отлично, но реальная проблема заключается в if elseif
заявлении.
Ниже приведен мой код JavaScript.
P.S: Не стесняйтесь использовать конфигурацию Firebase для тестирования. Или использовать этот логин:
- электронная почта: [email protected]
- пароль: 123456
// Initialize Firebase
var config = {
apiKey: "AIzaSyDjYqNKbZaom0jplOusloWlr5mOhW2WbgQ",
authDomain: "awes-e3043.firebaseapp.com",
databaseURL: "https://awes-e3043.firebaseio.com",
storageBucket: "awes-e3043.appspot.com",
messagingSenderId: "191054424051"
};
firebase.initializeApp(config);
// SignIn
$("button#in").click(function(){
var email = document.getElementById('logemail');
var password = document.getElementById('logpassword');
firebase.auth().signInWithEmailAndPassword(email.value, password.value).catch(function(error) {
console.log(error.code);
console.log(error.message);
}).then(function(){
location.reload();
});
});
// SignOut
$("button#out").click(function(){
firebase.auth().signOut().then(function() {
console.log("Logged out!")
location.reload();
}, function(error) {
console.log(error.code);
console.log(error.message);
});
});
$(document).ready(function(){
function usigned(){
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
return true;
} else {
return false;
}
}); }
if (usigned() == true) {
$("#hlogp").css("display", "none");
$("button#in").css("display", "none");
$("button#out").css("display", "inline-block")
}else if(usigned() == false) {
$("button#out").css("display", "none");
$("#hlogp").css("display", "block");
$("button#in").css("display", "block");
}
});
спасибо, это очень помогает мне. –