1

我有两个我的 Angular 应用程序实例在两个不同的选项卡中运行,我希望能够让用户通过按下网站上的按钮在它们之间切换。

我可以使用Broadcast Channel API在实例之间进行通信,但是window.focus()在非活动选项卡内调用不会做任何事情。由于消息是序列化/反序列化的,我也不能只通过通道发送窗口对象。

我还尝试通过在其中设置 window.name 然后调用活动选项卡来访问非活动选项卡的窗口实例window.open('', otherName)。这也不起作用,只会产生一个新的空选项卡。

解决方案必须适用于用户打开的应用程序的现有实例,我知道如果我只是从第一个实例中打开第二个实例(或 iframed 或类似的东西),这将起作用。我也知道这可以使用浏览器扩展来工作,但这也不适合我的用例。

如果这根本不可能,我只会在应用程序本身中构建“标签”,但我只是想我会先问,因为这种方式会更容易。

4

0 回答 0