This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.
* Some parts of this feature may have varying levels of support.
The referrerPolicy property of the HTMLScriptElement interface reflects the HTML referrerpolicy of the <script> element, which defines how the referrer is set when fetching the script and any scripts it imports.
A string; one of the following:
no-referrerThe Referer header will be omitted entirely. No referrer information is sent along with requests.
no-referrer-when-downgradeThe URL is sent as a referrer when the protocol security level stays the same (e.g.HTTP→HTTP, HTTPS→HTTPS), but isn't sent to a less secure destination (e.g., HTTPS→HTTP).
originOnly send the origin of the document as the referrer in all cases. The document https://example.com/page.html will send the referrer https://example.com/.
origin-when-cross-originSend a full URL when performing a same-origin request, but only send the origin of the document for other cases.
same-originA referrer will be sent for same-site origins, but cross-origin requests will contain no referrer information.
strict-originOnly send the origin of the document as the referrer when the protocol security level stays the same (e.g., HTTPS→HTTPS), but don't send it to a less secure destination (e.g., HTTPS→HTTP).
strict-origin-when-cross-origin (default)This is the user agent's default behavior if no policy is specified. Send a full URL when performing a same-origin request, only send the origin when the protocol security level stays the same (e.g., HTTPS→HTTPS), and send no header to a less secure destination (e.g., HTTPS→HTTP).
unsafe-urlSend a full URL when performing a same-origin or cross-origin request. This policy will leak origins and paths from TLS-protected resources to insecure origins. Carefully consider the impact of this setting.
Note: An empty string value ("") is both the default value, and a fallback value if referrerpolicy is not supported. If referrerpolicy is not explicitly specified on the <script> element, it will adopt a higher-level referrer policy, i.e., one set on the whole document or domain. If a higher-level policy is not available, the empty string is treated as being equivalent to no-referrer-when-downgrade.
const scriptElem = document.createElement("script");
scriptElem.src = "/";
scriptElem.referrerPolicy = "unsafe-url";
document.body.appendChild(scriptElem);
| Specification |
|---|
| HTML> # dom-script-referrerpolicy> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
referrerPolicy |
70 | 79 | 65 | 57 | 14 | 70 | 65 | 49 | 14 | 10.0 | 70 | 14 |
no-referrer-when-downgrade |
70 | 79 | 65–92 | 57 | 14 | 70 | 65–92 | 49 | 14 | 10.0 | 70 | 14 |
origin-when-cross-origin |
70 | 79 | 65–92 | 57 | 14 | 70 | 65–92 | 49 | 14 | 10.0 | 70 | 14 |
unsafe-url |
70 | 79 | 65–92 | 57 | 14 | 70 | 65–92 | 49 | 14 | 10.0 | 70 | 14 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement/referrerPolicy