以下の記事を参考に掲示板を作ってみたいのですが、投稿ボタンを押してもリアルタイムに反映がされません。
Googleの「Firebase」でリアルタイム掲示板を作ってみよう
Firebaseのプロジェクトの設定は一通りやったつもりです。
行き詰まってしまったので、有識者の方、ご教示いただきたくお願いいたします。
<!DOCTYPE html> <html><head><meta charset="utf-8"> <title>掲示板</title> <!-- The core Firebase JS SDK is always required and must be listed first --> <script src="https://www.gstatic.com/firebasejs/8.0.1/firebase-app.js"></script> <!-- TODO: Add SDKs for Firebase products that you want to use https://firebase.google.com/docs/web/setup#available-libraries --> <script src="https://www.gstatic.com/firebasejs/8.0.1/firebase-analytics.js"></script> <script> // Your web app's Firebase configuration // For Firebase JS SDK v7.20.0 and later, measurementId is optional var firebaseConfig = { apiKey: "*****", authDomain: "test***.firebaseapp.com", databaseURL: "test***.firebaseio.com", projectId: "test***", storageBucket: "test***.appspot.com", messagingSenderId: "*******", appId: "****************", measurementId: "************:" }; // Initialize Firebase firebase.initializeApp(firebaseConfig); firebase.analytics(); </script> </head><body> <h1>掲示板</h1> <div><textarea id="txt" rows="4" cols="80"></textarea></div> <div><button onclick="post()">投稿</button></div> <div><hr></div> <div><ul id="logs"></ul></div> <script> // Firebaseのデータベースを取得 var db = firebase.database(); var bbs_db = db.ref("/****/logs"); // ログが追加されたときの処理を記述 function addLog(data) { var val = data.val(); var e = document.getElementById("logs"); var li = document.createElement("li"); li.innerHTML = val.text; e.appendChild(li); } // 誰かがログに追加したら内容を通知するよう設定 bbs_db.limitToLast(10).on("child_added", addLog); // 投稿ボタンが押されたとき function post() { var txt = document.getElementById("txt"); bbs_db.push({ text: txt.value }); txt.value = ""; } </script> </body></html>
あなたの回答
tips
プレビュー