我正在创建一个聊天应用程序。nowjs
用户可以创建一个聊天室,然后邀请用户到该房间。以下是用于执行此操作的代码:
everyone.now.addPeopleToChat = function(clientIds,roomName) {
var length = clientIds.length;
var group = nowjs.getGroup(roomName);
for(var i=0;i<length;i++){
group.addUser(clientIds[i]);
}
group.now.roomName = roomName;//User can be in one room only at any given time.Reference to the roomname to be used when user leaves chat
group.now.loadChatWindow();//Load UI
}
到目前为止一切顺利。用户可以添加到聊天室,聊天也很好。
当用户在聊天室并关闭浏览器窗口时,我希望聊天室中的其他用户知道此人已离开聊天。我想使用断开事件来处理这种特殊情况。这是我用过的代码。
nowjs.on('disconnect', function () {
console.log("User name:"+this.now.name);//comes fine
console.log("Room name:"+this.now.roomName);//shows undefined.
var group = nowjs.getGroup(this.now.roomName);//Intention is to get the room in which user was chatting.But it is not working because roomName is undefined.
group.now.broadcast(this.now.name+" has left this room");
});
为什么在处理程序roomName
中显示为未定义。disconnect
当用户被添加到组时,我正在设置该变量。所以组中的每个用户都应该正确设置该变量。我在这里遗漏了什么吗?