gpt4 book ai didi

javascript - 识别哪个选项卡发出了请求

转载 作者:数据小太阳 更新时间:2023-10-29 05:33:54 24 4
gpt4 key购买 nike

这个问题可能没有答案。但是,我想我会试一试。我写了一个很棒的单页应用程序。当应用程序启动时,打开的选项卡会向服务器“注册”自身,服务器会将其存储为“事件”选项卡。

如果用户 A 更改工作区中的 XYZ,则任何用户在该工作区上打开的每个选项卡都会收到一条通知,告知 XYZ 已更改。这会触发客户端重新加载,这将神奇地更新。目前,我正在通过投票来做到这一点。但是,当一切正常时,我可以使用 WS 或 Socket.io 之类的东西来使事情变得更快。

问题:每个选项卡都会收到通知。甚至是最初引发它的选项卡!(结果,已经更新的屏幕得到更新)

我不知何故需要服务器知道发出请求的选项卡的选项卡 ID。请记住,用户可能打开了 5 个选项卡:如果他们更改 XYZ,所有选项卡都应该收到通知,除了实际触发它的选项卡!

目前,我正在为每个 Ajax 请求传递工作区 ID(用户可能已登录,并且可以同时访问多个工作区)。

  • 解决方案 1:为每个请求附加工作区 ID 选项卡 ID
  • 解决方案 2:仅对每个请求使用选项卡 ID。该应用程序将从 tabID 中计算出工作区 ID(它知道它属于哪个工作区)
  • 解决方案 3:?????? (我缺少什么?)

有什么想法吗?

最佳答案

您不必让服务器担心向哪些选项卡发送更改通知,而是让启动更改的选项卡忽略通知。

我想到了两种方法:

  • 更改内容后,选项卡将在短时间内取消所有通知。 (除非在短时间内对多个选项卡进行更改,否则这会很好用。)
  • 让选项卡创建一个“更改 ID”,将其与对 xyz 的更改一起发送到服务器。广播更改通知包含此 ID,发送选项卡将其识别为它发送的那个并忽略它。

关于javascript - 识别哪个选项卡发出了请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14333329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com