如何在内联样式属性(例如背景图像)上设置referrerpolicy

问题描述 投票:0回答:1

正如标题所示,我正在努力在通过内联样式属性加载的资源上添加

referrerpolicy

我知道我可以设置以下内容:

<img src="https://myseconddomain.com/image.png" referrerpolicy="no-referrer">

并且请求将在没有

Referer
HTTP header 的情况下执行。

但是,我正在努力实现这一目标:

<div style="background-image:url('https://myseconddomain.com/image.png')"></div>

根据spec

<div>
元素不允许具有
referrerpolicy
属性。同样从spec中,我们看到有一种方法可以将策略添加到内联样式属性中:

  • 外部 CSS 样式表使用默认策略 (strict-origin-when-cross-origin),除非它被 CSS 样式表响应上的 Referrer-Policy HTTP 标头覆盖。
  • 对于元素或样式属性,使用所有者文档的引用策略。

这意味着我应该能够在整个文档上使用

referrer
元标头来控制这一点。这不是可取的,因为我不想覆盖整个页面上的策略,但它似乎也不起作用。在以下示例中,对
myseconddomain.com
的请求仍包含
Referer
HTTP 标头:

<!DOCTYPE html>
<html>
<head>
    <meta name="referrer" content="no-referrer">
</head>
<body>
    <div style="background-image:url('https://myseconddomain.com/image.png')"></div>
</body>
</html>

我正在使用 Google Chrome 稳定版 124.0.6367.207 进行测试。

我做错了什么还是这实际上坏了?

html css http http-headers referrer-policy
1个回答
0
投票

我使用 Google Chrome Stable 130 还发现 Referrer-Policy 不适用于内联样式。但使用相同的代码和配置,Firefox 完全没问题

© www.soinside.com 2019 - 2024. All rights reserved.