HTMLScriptElement:referrerPolicy 属性

基线 广泛可用

此功能已得到充分确立,并且可在许多设备和浏览器版本中使用。它自以下时间起在各个浏览器中可用: 2021 年 9 月.

referrerPolicyHTMLScriptElement 接口的属性,它反映了 HTML referrerpolicy 属性(<script> 元素),该属性定义了在获取脚本及其导入的任何脚本时如何设置推荐来源。

字符串;以下之一

no-referrer

将完全省略 Referer 标头。不会将任何推荐来源信息与请求一起发送。

no-referrer-when-downgrade

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

origin

在所有情况下仅发送文档的来源作为推荐来源。文档 https://example.com/page.html 将发送推荐来源 https://example.com/

origin-when-cross-origin

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

same-origin

将为 同源来源 发送推荐来源,但跨源请求将不包含任何推荐来源信息。

strict-origin

仅当协议安全级别保持不变(例如 HTTPS→HTTPS)时,才将文档的来源发送为推荐来源,但不要将其发送到安全性较低的目的地(例如 HTTPS→HTTP)。

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

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

unsafe-url

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

注意:空字符串值 ("") 既是默认值,也是在不支持 referrerpolicy 时的回退值。如果未在 <script> 元素上显式指定 referrerpolicy,则它将采用更高级别的推荐来源策略,即在整个文档或域上设置的策略。如果无法使用更高级别的策略,则空字符串将被视为等效于 no-referrer-when-downgrade

示例

js
const scriptElem = document.createElement("script");
scriptElem.src = "/";
scriptElem.referrerPolicy = "unsafe-url";
document.body.appendChild(scriptElem);

规范

规范
HTML 标准
# dom-script-referrerpolicy

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅