【发布时间】:2018-08-23 08:57:39
【问题描述】:
我有一个窗口 A,它使用 window.open 打开窗口 B。当我单击窗口 B 中的主页按钮时,我需要关闭窗口 B 并将焦点返回到窗口 A。要完成任务,我使用 $window.opener && !$window.opener.closed 检查窗口 A 是否仍然打开。一旦确认窗口 A 仍然打开,我使用 $window.opener.focus 将焦点放回窗口 A我使用 $window.close 关闭窗口 B。但是有些情况需要注意。
我需要 2 个场景的建议。
打开窗口 B 后,如果窗口 A 切换到其他页面,比如 www.cnn.com,如何检查窗口 A 是否仍然指向我的页面或至少指向我的域?
我的窗口 A 和窗口 B 是两个选项卡,如果有一些其他选项卡说窗口 C 已打开并且窗口 C 选项卡放置在选项卡 A 和选项卡 B 之间,使用我现有的代码,当我单击在 home 按钮上,窗口 B 关闭并显示窗口 C。如何切换回窗口 A 选项卡?
如果我遗漏了一些细节,请告诉我。
【问题讨论】:
-
我建议不要这样做,因为安全问题是让原始窗口打开以进行攻击mathiasbynens.github.io/rel-noopener
标签: javascript angularjs