首页 > 解决方案 > $window.opener 在 Chrome 中的子选项卡中为 null

问题描述

我们正在我们的应用程序中使用锚标记调用一些操作。它在属于我们项目本身的新选项卡中打开另一个 HTML。锚标记具有“ target=_blank ”。在新选项卡上,我们需要使用 $window.opener 值来显示关闭按钮。但是这个 $window.opener 是null

为了解决这个问题,我们尝试将 'rel="opener"' 属性添加到锚标记。这是通过 Chrome 反转默认 noopener 功能的解决方案之一,并且在此链接中也提到过。. 构建代码时,缩小的 js 文件确实显示了此更改,但是当部署应用程序并使用开发人员工具检查链接时,锚标记中缺少“rel”属性。

如果我们使用开发人员工具编辑 HTML 并添加 rel 属性,那么关闭按钮将按预期工作。想知道在调用应用程序时是否有任何原因可能不会应用此 rel 属性。?

当我们使用 window.open 调用操作时,确实可以访问 $window.opener 的新选项卡,并且关闭按钮按预期工作。

我们正在使用 AngularJS 1.5 版和 Google Chrome 90.0.4430.93 版。

标签: google-chromewindow.opener

解决方案


推荐阅读