rel="noopener"

noopener 关键字用于 rel 属性,适用于 <a><area><form> 元素。它指示浏览器在导航到目标资源时,不授予新的浏览上下文访问打开它的文档的权限 — 通过不设置新窗口的 Window.opener 属性(它返回 null)。

这在打开不受信任的链接时尤其有用,以确保它们无法通过 Window.opener 属性篡改原始文档(更多详情请参阅 About rel=noopener),同时仍然提供 Referer HTTP 头(除非也使用了 noreferrer)。

请注意,当使用 noopener 时,除了 _top_self_parent 之外的所有非空 target 名称,在决定是否打开新窗口/标签页方面,都将被视为 _blank

注意:<a><area><form> 元素上设置 target="_blank" 会隐式提供与设置 rel="noopener" 相同的 rel 行为,即不设置 window.opener