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>
问题
tab
由于循环 javascript 对象和跨域安全问题,我无法将对象存储在任何东西中。我希望有一种方法可以减少tab
对象,以便可以使用 IndexedDB 在其他选项卡中存储和使用它,甚至可以将其发送到我的数据库(MSSQL)。
我的问题
有没有办法存储信息,以便我可以从我的 Web 应用程序的任何实例设置选项卡的位置?
如果没有,是否有人做过其他解决方案?
最后的想法
我一直在努力解决这个问题,它可能正在推动浏览器功能或安全性的极限,但我被要求调查它,所以我现在就在这里。
解决方案
推荐阅读
- python - 从数据工厂管道读取/写入错误消息
- jquery - 如何在 ReactJS 中使用 Galleria
- firebase - 如何通过在 Flutter 中处理数据来过滤 firebase 子集合
- mapbox - Mapbox 在卫星视图和街景之间切换时会丢失弹出窗口
- python - 带有烧瓶的 Python 脚本 - 如何在 Windows 服务器上启用设置
- c++ - 为什么会出现“非法指令”错误?
- c# - 遍历网站表(元素未附加到页面文档)
- google-cloud-firestore - 基于不存在文档的 Firestore 事务(集合级别锁定不可用)
- dataframe - 如何保留表中以分号分隔的字段的第一个、最小值、最大值?
- asp.net-mvc - Asp.net Core Federation ADFS 和 Web 应用程序代理