rel="noopener"
noopener
关键字用于
属性,适用于 rel
、<a>
和 <area>
元素。它指示浏览器在导航到目标资源时,不授予新的浏览上下文访问打开它的文档的权限 — 通过不设置新窗口的 <form>
属性(它返回 Window.opener
null
)。
这在打开不受信任的链接时尤其有用,以确保它们无法通过
属性篡改原始文档(更多详情请参阅 About rel=noopener),同时仍然提供 Window.opener
Referer
HTTP 头(除非也使用了 noreferrer
)。
请注意,当使用 noopener
时,除了 _top
、_self
和 _parent
之外的所有非空 target 名称,在决定是否打开新窗口/标签页方面,都将被视为 _blank
。
注意: 在 <a>
、<area>
和 <form>
元素上设置 target="_blank"
会隐式提供与设置 rel="noopener"
相同的 rel
行为,即不设置 window.opener
。