Javascript AngularJS:几个选项卡打开,只有一个应该运行特定的功能

Javascript AngularJS:几个选项卡打开,只有一个应该运行特定的功能,javascript,angularjs,local-storage,Javascript,Angularjs,Local Storage,我不确定这是否可行,但我正在尝试让AngularJS应用程序在localStorage中存储一些数据,以便运行该应用程序的所有选项卡都可以访问共享数据。我还希望能够使用setInterval通过$http服务自动更新这些数据 这两部分都很简单 问题是,用户可能会在多个选项卡中打开应用程序,运行该应用程序的所有选项卡都将尝试更新共享数据,而我想做的是让其中一个选项卡充当主选项卡,并且只有该选项卡运行更新功能 所以这个过程应该是这样的: 在第一个选项卡中打开应用程序 检查tab是否是运行应用程序的唯

我不确定这是否可行,但我正在尝试让AngularJS应用程序在localStorage中存储一些数据,以便运行该应用程序的所有选项卡都可以访问共享数据。我还希望能够使用setInterval通过$http服务自动更新这些数据

这两部分都很简单

问题是,用户可能会在多个选项卡中打开应用程序,运行该应用程序的所有选项卡都将尝试更新共享数据,而我想做的是让其中一个选项卡充当主选项卡,并且只有该选项卡运行更新功能

所以这个过程应该是这样的:

在第一个选项卡中打开应用程序 检查tab是否是运行应用程序的唯一选项卡假定此示例为真 第一个选项卡成为主选项卡 等待10分钟,然后第一个选项卡运行更新功能 打开运行同一应用程序的第二个选项卡 检查tab是否是唯一一个运行应用程序的,因为它不是,所以这是false 等待10分钟,两个选项卡都尝试运行更新功能,但只有第一个选项卡更新数据,因为它是设置为master的选项卡 第一个选项卡由用户关闭 第二个选项卡检查它是否是目前运行应用程序的唯一选项卡,因此这是真的 第二个选项卡或任何其他打开的选项卡成为主选项卡 有没有办法用AngularJS或通用Javascript实现这一点?这有意义吗


感谢

将本地存储上的选项卡“唯一id”设置为“激活”,在这两个选项卡中运行计时器,检查自己的id==localstorage.activetabid。如果相同=>更新数据是可能的吗?这给了我一个如何做的想法,但我以一种不太复杂的方式思考我最初的想法。我在本地存储中设置了上次更新发生的时间戳,然后每个选项卡都会检查上次更新的时间,如果是在10分钟前,则会运行更新。我已将更新设置间隔改为每60秒运行一次,因此所有选项卡都有机会运行更新,而哪一个选项卡运行更新并不重要,只要它不经常命中服务器!