1
私はプレイヤーのユーザー名をfirebaseデータベースに保存しようとしていますが、何らかの理由でそれが機能していません。デバッグにアラートを使用すると、ユーザー名はnullになります。私はhtmlファイル内のタグのfirebaseを初期化します。ここで私のコードは、ユーザー名の保存と読み込みです。保存中ですが、読み込み中ではありません:データはfirebase.google.comデータベースをロードしません
var signedIn = false;
var player;
var isAnonymous;
var userID;
var username = null;
window.onload = function() {
auth.onAuthStateChanged(function(user) {
//var user = firebase.auth().currentUser;
if (user) {
// User is signed in.
player = firebase.auth().currentUser;
signedIn = true;
isAnonymous = user.isAnonymous;
userID = user.uid;
refreshUsername();
} else {
// No user is signed in.
signedIn = false;
window.location.href = "index.html";
}
});
}
function refreshUsername() {
if (username != null && username != "") {
updateUsername();
document.getElementById("username-text").innerHTML += username;
} else {
updateUsername();
alert("old Not working: " + username);
var newName = getRandomName();
document.getElementById("username-text").innerHTML += newName;
saveUsername(newName);
username = newName;
alert("Not working: " + username);
}
}
function saveUsername(name) {
firebase.database().ref('users/' + userID).set({
username: name
});
}
function updateUsername() {
/*firebase.database().ref('/users/' + userID).once('value').then(function(snapshot) {
username = snapshot.val().username;
});*/
firebase.database().ref('users/' + userID).once('value').then(function(snapshot) {
username = snapshot.val().username;
});
}
リスナーにエラーハンドラを追加し、出力内容を確認してください。 – Kato
@katoメソッド内で動作しましたが、nullを返します – PlanetVaster
onceメソッドまたはsetメソッドにエラーハンドラがありません。 – Kato