HTMLImageElement: referrerPolicy 属性

Baseline 广泛可用 *

此功能已成熟,并可在许多设备和浏览器版本上使用。自 2020 年 9 月起,所有浏览器均已提供此功能。

* 此特性的某些部分可能存在不同级别的支持。

HTMLImageElement.referrerPolicy 属性反映了 HTML referrerpolicy 属性,该属性用于 <img> 元素,用于定义在获取资源时发送哪个 Referer。

一个字符串;以下选项之一

no-referrer

将完全省略 Referer 标头。请求不会附带任何 Referer 信息。

no-referrer-when-downgrade

当协议安全级别保持不变时(例如 HTTP→HTTP,HTTPS→HTTPS),URL 将作为 Referer 发送,但不会发送到安全性较低的目的地(例如 HTTPS→HTTP)。

origin

在所有情况下,仅将文档的 origin 作为 Referer 发送。文档 https://example.com/page.html 将发送 Referer https://example.com/

origin-when-cross-origin

在执行同源请求时发送完整的 URL,但在其他情况下仅发送文档的 origin。

same-origin

对于 同站点(same-site)的 origin,将发送 Referer,但跨站(cross-origin)请求将不包含任何 Referer 信息。

strict-origin

当协议安全级别保持不变时(例如 HTTPS→HTTPS),仅将文档的 origin 作为 Referer 发送,但不会发送到安全性较低的目的地(例如 HTTPS→HTTP)。

strict-origin-when-cross-origin (默认)

如果未指定策略,这是用户代理的默认行为。在执行同源请求时发送完整 URL,仅在协议安全级别保持不变时发送 origin(例如 HTTPS→HTTPS),并且不向安全性较低的目的地发送标头(例如 HTTPS→HTTP)。

unsafe-url

在执行同源或跨域请求时发送完整 URL。此策略会将受 TLS 保护资源的 origin 和路径泄露给不安全的 origin。请仔细考虑此设置的影响。

示例

js
const img = new Image();
img.src = "img/logo.png";
img.referrerPolicy = "origin";

const div = document.getElementById("divAround");
div.appendChild(img); // Fetch the image using the origin as the referrer

规范

规范
HTML
# dom-img-referrerpolicy

浏览器兼容性

另见