Creé un sitio web de mensajería simple pero enfrenté un problema difícil: A y B tienen dos grupos de chat como se muestra en la imagen, cuando B cambia al grupo B&D y luego A envía mensajes en A&B pero ese mensaje aparece en el grupo B&D. !
Este es mi código Javascript:
const app = initializeApp(firebaseConfig); const database = getDatabase(); var message = document.getElementById("input"); //input var btn = document.getElementById("send"); //send button var order = document.getElementsByClassName("chat-head"); //class name of chat group var room_name = "a&b"; //A&B is default group when open web (example) function send(){ push(ref(database, room_name),{ Message: message.value }); message.value = ""; } function receive(){ onValue(ref(database, room_name), snapshot => { snapshot.forEach(element => { //print name of chat group and messages in it console.log(room_name, element.val()) }); }); } function chatHead(){ //set color the chat group which I choose is red order[0].style.backgroundColor = "red"; for(let i = 0; i < order.length; i++) { order[i].addEventListener("click", () => { order[i].style.backgroundColor = "red"; for(let j = 0; j < order.length; j++){ if(j != i){ order[j].style.backgroundColor = "white"; // and others is white } } room_name = order[i].id; receive(); }); } } chatHead(); window.onload = receive(); btn.addEventListener("click", send);