多个原始浏览器标签,单个目标标签

时间:2019-04-08 22:28:28

标签: javascript

背景

我正在使用我们的内部工具JS webapp。用户询问是否可以单击链接,它会打开一个新选项卡,而该链接的每次后续单击都将加载到打开的同一选项卡中(链接href更改)。这不是问题。但是问题是用户将在多个选项卡中打开我们的应用,并且仍然希望此链接在一个选项卡中加载。

对于单一来源,单一目的地的问题,我会执行以下操作:

let tab = null;

$scope.openLink = function() {
  if (tab && !tab.closed) {
    tab.location.href = 'http://duckduckgo.com';
    tab.focus();
  }
  else {
    tab = window.open('http://google.com','googlewindow');
  }
}

<a href="" ng-click="openLink()">click me</a>

问题

由于循环JavaScript对象和跨域安全问题,我无法将tab对象存储在任何对象中。我希望有一种方法可以减少tab对象,以便可以使用IndexedDB在其他选项卡中存储该对象并将其使用,甚至可以将其发送到我的数据库(MSSQL)。

我的问题

是否可以存储信息,以便我可以从Web应用程序的任何实例设置选项卡的位置?

如果没有,那么有人有其他解决方案吗?

最终想法

我一直在研究这个问题,它可能正在推动浏览器功能或安全性的极限,但是我被要求调查一下,所以我现在就在这里。

0 个答案:

没有答案