gpt4 book ai didi

javascript - window.opener 为空...以前不是

转载 作者:行者123 更新时间:2023-12-05 03:44:51 25 4
gpt4 key购买 nike

在我们的软件中,我们有一个带有链接的页面,该链接使用 target='_blank' 在新选项卡中打开同一站点内的页面。当用户在新打开的页面上完成工作时,他们单击一个按钮,当页面刷新时,它会调用以下代码。

window.opener.location.href = window.opener.location.href; window.close();

这多年来一直运行良好,但在上周左右停止在所有浏览器中运行。当我用谷歌搜索时,我似乎找不到任何关于正在实现的新安全限制会导致这种情况的信息。知道发生了什么以及如何让它再次工作吗?我已经在 chrome、firefox、edge 和 IE11 中测试了以下代码。除了 IE11 window.opener 之外的所有都是空的。在 IE 中不是。浏览器中是否可能有新的安全设置会导致这种情况?

<html>
<body>
<a href="page2.html" target="_blank">click me</a>
</body>
</html>

<html>
<body>
<script>
alert(window.opener === null);
</script>
</body>
</html>

最佳答案

我不确定您在哪个版本的 chrome 浏览器上测试了您的代码。为避免“tab-napping”攻击,许多浏览器已开始默认为以 _blank 为目标的 anchor 实现 noopener 行为。

Chrome 在 release 88 中启用了 noopener 行为.

Safari 还在 release 68 中启用了此功能.

我找不到任何关于 IE 11 更改的引用。但是值得尝试在带有 target=_blank 的 anchor 标记中添加 rel="opener"

关于javascript - window.opener 为空...以前不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66208908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com