Node.js,并将数据发送回所有浏览器选项卡
Node.js and send back data to all browser tabs
我使用的是Node.js,它只适用于一个窗口或选项卡。但我想在用户浏览器的所有打开的选项卡中从Node.js获取返回的数据。
比如脸书Like
,它会在你打开的所有标签中通知你。
这是我的常规发射代码:
users[user_id].socket.emit( 'xx', { data } );
但data
只在第一个打开的选项卡中可用。如何在所有打开的选项卡上获得它?
假设您正在使用Socket.io,并且users
是您在新连接上向其添加user_id
的对象,那么可能发生的情况是,具有相同user_id
的每个新套接字连接都会覆盖以前缓存的套接字。这是因为对象键需要是唯一的,否则设置对象的同一个键本质上会变成对该值的更新或覆盖。
你可能对房间感兴趣。或者,一个潜在的解决方案是将用户的对象值转换为一个数组,在新连接时推到该数组,并在断开连接时从中拼接。当您想要发送消息时,您需要遍历用户的数组,并相应地向数组中的每个套接字发出消息。
相关文章:
- location.reload(true)崩溃浏览器选项卡
- 如何在现有的浏览器选项卡中打开url
- 在用户关闭/更改移动浏览器选项卡之前进行检测
- 在新的浏览器选项卡上加载新的aspx页面后调用JavaScript函数
- 询问用户何时尝试关闭浏览器选项卡
- 自动关闭或覆盖通过命令行打开的浏览器选项卡
- 在两个浏览器选项卡之间共享变量范围
- 检查具有特定标题的浏览器选项卡是否已存在
- 如何防止用户使用浏览器选项禁用脚本
- 检测通过移动 Safari 中的 JavaScript 关闭浏览器选项卡
- 当用户关闭浏览器选项卡时,如何使用 PHP 或 javascript 从我的站点注销用户
- 在单击浏览器选项卡上调用 js 函数
- 在 JavaScript 中识别浏览器选项卡的任何方法
- 如何使setInterval在浏览器选项卡处于焦点时运行
- 如何:让javascript在浏览器选项卡更改时运行
- 将键盘和鼠标事件从一个浏览器选项卡发送到另一个
- Node.js,并将数据发送回所有浏览器选项卡
- 如何设置浏览器选项卡's锚定目标名称
- 自定义Div滑块运行过快,但仅当从另一个浏览器选项卡返回时
- 有没有任何方法可以通过编程将浏览器选项卡放在前面(跨浏览器)