Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何跟踪从主页打开的选项卡?_Node.js_Mean Stack - Fatal编程技术网

Node.js 如何跟踪从主页打开的选项卡?

Node.js 如何跟踪从主页打开的选项卡?,node.js,mean-stack,Node.js,Mean Stack,我是网络开发新手,我正在寻找自己的方法 我有以下情况: 用户登录到web应用程序。他/她将在控制台上看到四个不同的模块链接 当userA单击其中一个链接时,将打开一个新的选项卡,允许userA在该模块中进行更改/工作/。当userA在处理该特定模块时,它将被签出给userA,并且所有其他用户将看到userA正在其控制台上访问该模块,并且所有其他用户都无法访问该模块 现在,当用户关闭/注销模块(选项卡)时,所有用户控制台中的模块状态应更改为“可访问” 我选择meanstack来实现这个应用程序 问

我是网络开发新手,我正在寻找自己的方法

我有以下情况:

用户登录到web应用程序。他/她将在控制台上看到四个不同的模块链接

当userA单击其中一个链接时,将打开一个新的选项卡,允许userA在该模块中进行更改/工作/。当userA在处理该特定模块时,它将被签出给userA,并且所有其他用户将看到userA正在其控制台上访问该模块,并且所有其他用户都无法访问该模块

现在,当用户关闭/注销模块(选项卡)时,所有用户控制台中的模块状态应更改为“可访问”

我选择meanstack来实现这个应用程序

问题:

如何处理这种情况:

当用户关闭/注销模块(选项卡)时,所有用户控制台中的模块状态应更改为“可访问”


如何跟踪打开的选项卡?

我觉得对于这种情况,最合适的解决方案是使用套接字。(您可以尝试,但也有其他用于WebSocket的库)

主要原因是,我们希望跟踪断开事件。这需要来自服务器/客户端的某种轮询。你想用插座做多少当然取决于你;可以将可访问模块的状态保存在映射中,并在访问可访问模块时进行更新。同样,您也可以将套接字与“connect”事件一起使用,从而提供实时更新的可能性


当用户关闭模块时,将发送一个断开事件,以便您可以将其更改为可访问。

感谢@andreas的建议。使用socket.io完成实现