【发布时间】:2017-01-12 14:53:01
【问题描述】:
我们开发了一个 Web 应用程序(客户端的 HTML/CSS/JavaScript,服务器端的 Web 服务)。客户端上的每个用户操作都会调用服务器端上的某个 Web 方法。
但是当用户使用我们的应用程序打开多个浏览器选项卡时我们会遇到一些问题,因此我们决定每次用户在不同浏览器的选项卡中登录时强制注销所有浏览器的选项卡(当前选项卡除外)。 我们如何实现客户端能够从服务器端接收“消息”?
【问题讨论】:
-
应该关闭!只需使用像 autobahn.ws / node.js / ....这样的 websockets
-
我认为,您应该为每个用户/客户端应用程序实例添加一些唯一的 ID/令牌,这样每个选项卡都会创建一个并且不会发生冲突,而不是关闭所有选项卡(但 Telegram 仍然这样做)
-
我建议您不要这样做,而是将应用程序更改为对用户首选的工作方式(多个选项卡)友好,而不是通过在其他应用程序中注销来让用户感到惊讶和可能激怒用户然后打开一个新的标签。
-
@T.J.Crowder 问题是,当打开多个选项卡并且用户更改其中一个选项卡中的内容时,您必须同步所有选项卡中显示的数据。实现起来有点复杂。因此,我们决定在非当前选项卡中强制注销。你同意托比亚斯的提议吗?
标签: javascript client-server ipc rpc json-rpc