如何避免 SignalR 为每个打开的选项卡触发一个脚本

How to avoid SignalR firing one script for each open tab

我使用 SignalR 动态显示新邮件通知。我最近意识到,如果同一个域有多个选项卡,那么相关函数的调用次数与选项卡的数量一样多。例如,我在 IE 中打开应用程序并以 Brian 身份登录。然后我在 Chrome 中的 3 个选项卡中打开相同的应用程序并以 Kevin 身份登录。当 Brian 向 Kevin 发送邮件时,负责增加新邮件数量的脚本被调用了 3 次。 有没有人为此提出解决方案?

每个选项卡都被视为 SignalR 的单独连接,因此您会收到多条消息。

您可以从 this 中汲取灵感。

有关更多详细信息,请访问关注另一个 SO 问题 Javascript; communication between tabs/windows with same origin