我创建了一个非常复杂的应用程序,它使用了IndexedDb。经过一番调查后,我发现这真的很难实现。我能想到的唯一方法就是利用Web存储(交叉表通信)来警告用户:
a)当另一个标签打开时,他无法打开另一个标签
b)如果他继续旧标签将被关闭但用它来打扰用户真的很难看。替代方案是:
还有其他选择吗?你们是怎么做到的?我觉得如果我不强制执行“只有一个标签”,那么应用程序的复杂性就会增长太多。办法。要确保应用的各个方面都能在多个标签中使用,这并不容易。
答案 0 :(得分:0)
在sessionStorage中设置一个变量,并在每次检查此变量是否存在时进行检查。如果是这样,它的第二个标签就可以做出反应。
要发出第二个标签已被打开的第一个标签,您可以使用storage-Event。 只需在第一个选项卡中侦听该事件,然后在第二个选项卡中在页面加载上写一些内容。此时,事件在第一个Tab中被触发,你可以做出反应。