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 表格仅在浏览器中加载