rel=noopener
对于 rel
属性的 <a>
、<area>
和 <form>
元素,noopener
关键字指示浏览器导航到目标资源,而不向新浏览上下文授予访问打开它的文档的权限——通过不在打开的窗口上设置 Window.opener
属性(它返回 null
)。
这在打开不受信任的链接时特别有用,以确保它们无法通过 Window.opener
属性篡改源文档(有关更多详细信息,请参阅 关于 rel=noopener),同时仍然提供 Referer
HTTP 标头(除非也使用 noreferrer
)。
请注意,当使用 noopener
时,除了 _top
、_self
和 _parent
之外的非空目标名称在决定是否打开新窗口/选项卡方面都与 _blank
相同。
注意:现在,在 <a>
元素上设置 target="_blank"
会隐式提供与设置 rel="noopener"
相同的 rel
行为,后者不会设置 window.opener
。有关支持状态,请参阅 浏览器兼容性。
规范
规范 |
---|
HTML 标准 # link-type-noopener |
浏览器兼容性
html.elements.a.rel.noopener
BCD 表格仅在浏览器中加载
html.elements.area.rel.noopener
BCD 表格仅在浏览器中加载