HTMLScriptElement: referrerPolicy 屬性

Baseline 廣泛可用 *

此功能已成熟,並可在許多裝置和瀏覽器版本上使用。自 2020 年 9 月起,所有瀏覽器均已提供此功能。

* 此特性的某些部分可能存在不同級別的支援。

HTMLScriptElement 介面的 referrerPolicy 屬性反映了 HTML referrerpolicy 屬性,該屬性定義了在獲取指令碼及其匯入的任何指令碼時如何設定引薦來源(referrer)。

一個字串;以下選項之一

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。請仔細考慮此設定的影響。

注意: 空字串 ("") 是預設值,也是 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

瀏覽器相容性

另見