将Vue.js应用程序限制为仅一个浏览器选项卡

时间:2018-02-04 17:18:10

标签: javascript browser vue.js single-page-application

背景

我正在使用Vue.js开发SPA,其中包括使用用户麦克风和扬声器的实时通信。

由于这些RTC功能,在多个浏览器选项卡中打开应用程序可能会导致问题(例如回声)。

问题:

如何将应用程序(即应用程序实例)的同时打开的浏览器选项卡的数量限制为仅一个?

我不确定我使用Vue.js的事实是否与此相关,但值得一提。

注意:

我已阅读the selected answer以下问题:Java: ensure web application open only in one browser tab

它涉及将一些会话数据存储在服务器上但我希望保持服务器端代码无状态。
所以我想找到一个可以在客户端完全实现的解决方案。

我知道在不涉及服务器端编码的机器上的不同浏览器上可能没有解决此问题的方法。我想了解限制每个浏览器的打开实例数量的选项。

1 个答案:

答案 0 :(得分:1)

这只是部分答案,但我认为你可以使用本地存储实现这一点,在你的情况下,特别是好的vue-ls模块。提供的JsFiddle显示了如何跨选项卡共享信息 - 扩展这一点,以便如果你得到ls $值并且它存在(比如保持跟踪打开标签?)然后关闭或显示一个对话框等。